import type { FiltersMap, OptionalFiltersMap } from '@wix/bex-core';
import { CursorFetchDataFn, OffsetFetchDataFn } from '@wix/bex-core/react';
import { UsePickerModalParamsBase } from './UsePickerModalParamsBase';
import { PickerModalState } from './PickerModalState';
type PaginationModeConfig<T, F extends FiltersMap> = {
    paginationMode?: 'offset';
    fetchData: OffsetFetchDataFn<T, F>;
} | {
    paginationMode: 'cursor';
    fetchData: CursorFetchDataFn<T, F>;
};
export type UsePickerModalParams<T, F extends FiltersMap> = Omit<UsePickerModalParamsBase<T, F>, 'paginationMode' | 'fetchData'> & PaginationModeConfig<T, F>;
export type PikerModalFactory = <T, F extends FiltersMap = OptionalFiltersMap>(config: UsePickerModalParams<T, F>) => PickerModalState<T, F>;
export declare function useCreatePickerModalState(): PikerModalFactory;
export declare function useSyncPickerModalProps<T, F extends FiltersMap = OptionalFiltersMap>(state: PickerModalState<T, F> | null, { onSelect, disableAutoSelectOnSingleItem, }: Pick<UsePickerModalParams<T, F>, 'onSelect' | 'disableAutoSelectOnSingleItem'>): void;
export declare function usePickerModalState<T, F extends FiltersMap = OptionalFiltersMap>(params: UsePickerModalParams<T, F>): PickerModalState<T, F>;
export {};
//# sourceMappingURL=usePickerModalState.d.ts.map