import { ForwardedRef } from 'react';
export type UseSelectOrchestrationConfig = {
    lazy: false | "page" | "offset" | "group" | undefined;
    loadOptions: any;
    cache?: {
        enabled?: boolean;
        maxSize?: number;
    };
    lazyOptions?: {
        pageSize?: number;
        limit?: number;
    };
    initialLoad?: "auto" | "immediate" | "open";
    displayMenuAs?: "auto" | "popover" | "dialog";
    ref: ForwardedRef<{
        clearCache: () => void;
        invalidate: () => void;
    }>;
};
/**
 * Shared orchestration hook used by Select components
 * Centralizes adaptive view resolution, loading config construction, option loading lifecycle,
 * and imperative handle setup (clearCache/invalidate).
 */
export declare function useSelectOrchestration(config: UseSelectOrchestrationConfig): {
    displayAs: "dialog" | "popover";
    initialLoad: "open" | "immediate";
    initialLoadPerformed: boolean;
    setInitialLoadPerformed: import('react').Dispatch<import('react').SetStateAction<boolean>>;
    options: import('../../beta').SelectFieldOption[];
    loading: boolean;
    loadingMore: boolean;
    hasMore: boolean;
    loadOptions: (searchValue: string, options?: {
        initial?: boolean;
    }) => Promise<void>;
    loadMore: (searchValue: string) => Promise<void>;
};
