import type { SelectOption as MultiSelectOption } from "src/components/Select/types";
interface UseMultiSelectOptionsConfig {
    options?: MultiSelectOption[];
    loadOptions?: (inputValue: string) => Promise<{
        label: string;
        value: string;
        disabled?: boolean;
    }[]>;
    defaultOptions?: boolean | {
        label: string;
        value: string;
        disabled?: boolean;
    }[];
    cacheOptions?: boolean;
    isAsyncLoadOptionEnabled?: boolean;
    fetchMore?: () => void;
    totalOptionsCount?: number;
}
export declare function useMultiSelectOptions(props: UseMultiSelectOptionsConfig): {
    isAsync: boolean;
    resolvedOptions: import("src/components/Select/types").Option[];
    flatOptions: import("src/components/Select/types").OptionBase[];
    isGrouped: boolean;
    isLoading: boolean;
    handleAsyncInputChange: (value: string) => void;
    baseUiItems: string[] | {
        label: string;
        items: string[];
    }[] | undefined;
    hasMoreLazy: boolean;
    loaderCallbackRef: (node: HTMLDivElement | null) => void;
};
export {};
