import type { components } from '../generated/api.js';
import { WorkspaceScopedResource } from './base.js';
export declare class FunctionsResource extends WorkspaceScopedResource {
    list(): Promise<{
        count: number;
        items: {
            catalog?: string | undefined;
            description?: components["schemas"]["DescriptionString"] | undefined;
            enabled?: boolean | undefined;
            function_type?: string | undefined;
            input_schema?: {
                [x: string]: unknown;
            } | undefined;
            name: components["schemas"]["NameString"];
            returns_table?: boolean | undefined;
            schema?: string | undefined;
        }[];
    } & import("../index.js").ResponseMetadata>;
    create(body: components['schemas']['FunctionCreateRequest']): Promise<{
        catalog?: string | undefined;
        description?: components["schemas"]["DescriptionString"] | undefined;
        enabled?: boolean | undefined;
        function_type?: string | undefined;
        input_schema?: {
            [x: string]: unknown;
        } | undefined;
        name: components["schemas"]["NameString"];
        returns_table?: boolean | undefined;
        schema?: string | undefined;
    } & import("../index.js").ResponseMetadata>;
    delete(functionName: string): Promise<void>;
    test(functionName: string, body: components['schemas']['FunctionTestRequest']): Promise<{
        duration_ms?: number | undefined;
        error?: string | null | undefined;
        function_name?: string | undefined;
        result?: unknown;
    } & import("../index.js").ResponseMetadata>;
    getCatalog(): Promise<{
        catalog?: string | undefined;
        count?: number | undefined;
        functions: {
            comment?: string | undefined;
            data_type?: string | undefined;
            name: string;
            registered?: boolean | undefined;
        }[];
        schema?: string | undefined;
    } & import("../index.js").ResponseMetadata>;
    query(body: components['schemas']['QueryRequest']): Promise<{
        count?: number | undefined;
        duration_ms?: number | undefined;
        error?: string | null | undefined;
        results?: {
            [x: string]: unknown;
        }[] | undefined;
    } & import("../index.js").ResponseMetadata>;
    sync(): Promise<{
        count: number;
        items: {
            catalog?: string | undefined;
            description?: components["schemas"]["DescriptionString"] | undefined;
            enabled?: boolean | undefined;
            function_type?: string | undefined;
            input_schema?: {
                [x: string]: unknown;
            } | undefined;
            name: components["schemas"]["NameString"];
            returns_table?: boolean | undefined;
            schema?: string | undefined;
        }[];
    } & import("../index.js").ResponseMetadata>;
}
//# sourceMappingURL=functions.d.ts.map