import { FiltersMap, OptionalFiltersMap } from '@wix/bex-core';
import { PickerStandaloneEvents, PickerStandaloneState } from '../../state';
import { CollectionConfigWithConditionals } from '@wix/bex-core/react';
export type LogoType = 'wix' | 'editorx';
export type PickerStandaloneConfigBase<T, F extends FiltersMap> = {
    /**
     * URL to navigate to when there are no items available in the collection.
     */
    noItemsAvailableDestinationUrl?: string;
    /**
     * A predicate for an item to be selected in the picker.
     * Pass `true` to select the first item.
     */
    initialSelect?: true | ((item: T, index: number) => boolean);
    /**
     * A destination URL or callback to redirect to when the user selects an item.
     * Will be used when no query param override was provided.
     */
    defaultDestinationUrl: string | ((item: T) => string);
    /**
     * Map of query params to object properties to allow for URL filtering.
     * For example - `urlSegmentPropertyMap: { msid: ['metaSiteId'] }`
     * will add support for `?msid=123` query params to filter `metaSiteId`.
     */
    urlSegmentPropertyMap?: Record<string, (keyof T)[]>;
    /**
     * Optional callbacks for various events of the picker & collection state lifecycle:<br>
     * - `onSingleItemAutoNavigation` - when the picker is opened and auto-selects the only item in the collection<br>
     * - `onContinueToDestinationUrl` - when the user selects an item and submits<br>
     * - `onReady` - fires when the picker is ready to be interacted with<br>
     * - `onInitialPageFetched` - when the first page of items is ready<br>
     * - `onSearch` - when fetching new items as a result new search<br>
     * - `onSearchResults` - when the result of a search is ready<br>
     * - `onNewPageStart` - when starting to load the next page of items<br>
     * - `onNewPageAdded` - when the result of the next page is ready
     */
    events?: PickerStandaloneEvents<T, F>;
    /**
     * The type of logo to display in the picker.
     */
    logoType?: LogoType;
    shouldFilterNotAffectTotalCount?: (filterName: keyof F) => boolean;
};
export type PickerStandaloneConfig<T, F extends FiltersMap> = CollectionConfigWithConditionals<T, F> & PickerStandaloneConfigBase<T, F>;
export type PickerStandaloneFactory = <T, F extends FiltersMap>(config: PickerStandaloneConfig<T, F>) => PickerStandaloneState<T, F>;
export declare function useCreatePickerStandalone(): PickerStandaloneFactory;
export declare function usePickerStandalone<T, F extends FiltersMap = OptionalFiltersMap>(config: PickerStandaloneConfig<T, F>): PickerStandaloneState<T, F>;
//# sourceMappingURL=usePickerStandalone.d.ts.map