import type React from 'react';
import type { CursorCoordinates, TipTapRange } from '../components/input/tiptap';
import { type DrillDownState } from '../hooks/use-resource-picker-state';
import { type AutopilotChatResourceItem, type AutopilotChatResourceItemSelector } from '../service';
export type { DrillDownState };
export declare function isResourceSelector(item: AutopilotChatResourceItem | AutopilotChatResourceItemSelector): item is AutopilotChatResourceItemSelector;
export interface AutopilotChatResourcePickerContextType {
    isOpen: boolean;
    isOpenRef: React.RefObject<boolean>;
    anchorPosition: CursorCoordinates | null;
    query: string;
    displayedItems: AutopilotChatResourceItem[];
    drillDown: DrillDownState | null;
    loading: boolean;
    loadingMore: boolean;
    searchInProgress: boolean;
    hasMore: boolean;
    error: string | null;
    previousDisplayCount: number;
    open: (range: TipTapRange, coords: CursorCoordinates) => void;
    close: () => void;
    handleMentionEnd: () => void;
    setQuery: (query: string, range: TipTapRange) => void;
    handleItemClick: (item: AutopilotChatResourceItem | AutopilotChatResourceItemSelector) => void;
    goBackOrClose: () => void;
    retryLoad: () => void;
    loadMore: () => void;
}
interface AutopilotChatResourcePickerProviderProps {
    children: React.ReactNode;
    onResourceSelect: (resource: AutopilotChatResourceItem, range?: TipTapRange) => void;
    onDrillDown?: () => void;
    onClose?: () => void;
}
export declare function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDrillDown, onClose, }: AutopilotChatResourcePickerProviderProps): import("react/jsx-runtime").JSX.Element;
export declare function useAutopilotChatResourcePicker(): AutopilotChatResourcePickerContextType;
//# sourceMappingURL=resource-picker-provider.d.ts.map