import type { FunctionFunction } from '../../grammar.js'; import type { Jexl } from '../../Jexl.js'; import type { FunctionSchema, LibrarySchema } from './types.js'; export interface VSCodeCompletionItem { label: string; kind: number; detail: string; documentation: { kind: string; value: string; }; insertText: string; } export declare function createVSCodeCompletionItems(library: LibrarySchema): VSCodeCompletionItem[]; export interface MonacoCompletionItem { label: string; kind: number; detail: string; documentation: { value: string; }; insertText: string; } export declare function createMonacoCompletionItems(library: LibrarySchema): MonacoCompletionItem[]; export interface CodeMirrorCompletionOption { label: string; type: string; info: string; detail: string; apply: string; } export declare function createCodeMirrorCompletionOptions(library: LibrarySchema): CodeMirrorCompletionOption[]; export interface LSPCompletionItem { label: string; kind: number; detail: string; documentation: { kind: string; value: string; }; } export declare function createLSPCompletionItems(library: LibrarySchema): LSPCompletionItem[]; export declare function createFunctionCallSchema(func: FunctionSchema): Record; export declare function createLibraryValidationSchemas(library: LibrarySchema): Record>; export declare function generateFunctionTable(library: LibrarySchema): string; export declare function generateFunctionCards(library: LibrarySchema): string; export interface JexlInstance { addFunction: (name: string, func: (...args: unknown[]) => unknown) => void; _functions?: Record; } export interface FunctionWithMetadata { (...args: unknown[]): unknown; _schema?: FunctionSchema; _category?: string; _parameters?: FunctionSchema['parameters']; _returns?: FunctionSchema['returns']; } export declare function registerFunctions(jexl: Jexl, library: LibrarySchema, functionModule: Record): void; export declare function getFunctionMetadata(func: FunctionWithMetadata): FunctionSchema | undefined; export declare function listFunctionsByCategory(jexl: JexlInstance): Record; //# sourceMappingURL=integrations.d.ts.map