import type { LixEngine } from "../boot.js";
export type Call = (name: string, args?: unknown) => any;
export type FunctionHandlerContext = {
    engine: Pick<LixEngine, "sqlite" | "hooks" | "executeSync" | "runtimeCacheRef" | "call" | "preprocessQuery">;
};
export type RegisteredFunctionDefinition = {
    name: string;
    handler: (ctx: FunctionHandlerContext, args: any) => any;
};
export type FunctionRegistry = {
    register: (def: RegisteredFunctionDefinition) => void;
    call: Call;
    list: () => readonly {
        name: string;
    }[];
};
export declare function createFunctionRegistry(args: {
    engine: Pick<LixEngine, "sqlite" | "hooks" | "executeSync" | "runtimeCacheRef" | "call" | "preprocessQuery">;
}): FunctionRegistry;
//# sourceMappingURL=function-registry.d.ts.map