import { ReactNode } from 'react'; import type { Completions, FetchTemplatesRequest, Mode, ParameterizedTemplate, ParameterizedTemplateCompletionsPayload, Status } from './types'; import { Template } from './types'; interface AideProviderProps { children: ReactNode; completions: Completions; replaceSelection?: (selection: any, output: string) => void; insertBelow?: (selection: any, output: string) => void; copy?: (output: string) => void; } interface AideContextState { status: Status; mode: Mode; templates: Template[]; externalTemplates: { templates: ParameterizedTemplate[]; hasMore: boolean; tags: string[]; tag?: string; loading: boolean; }; selection: any; selectionText: string; input: string; output: string; } interface AideContextType extends AideContextState, Pick { available: boolean; filteredTemplates: Template[]; activeBuiltinTemplate?: Template; activateAI: ({ mode, selectionText, selection, }: { mode: Mode; selectionText: string; selection: any; }) => Promise; setInput: (text: string) => void; sendToAI: (payload: Template | ParameterizedTemplateCompletionsPayload | string) => void; retry: () => void; stop: () => void; reset: (params?: Partial, keepSelection?: boolean, isCopy?: boolean) => void; loadMoreTemplates: (params?: FetchTemplatesRequest) => Promise; selectionText: string; } export declare const AideContext: import("react").Context; export declare const useAideContext: () => AideContextType; export declare function AideProvider({ completions, replaceSelection, insertBelow, copy, children }: AideProviderProps): import("react/jsx-runtime").JSX.Element; export {};