import type { components } from '../generated/api.js';
import { WorkspaceScopedResource } from './base.js';
export declare class FunctionsResource extends WorkspaceScopedResource {
    list(): Promise<{
        count: number;
        items: {
            deployed_at?: string | null | undefined;
            deployed_by?: string | null | undefined;
            description?: string | undefined;
            examples?: {
                [x: string]: unknown;
            }[] | undefined;
            function_type: string;
            input_schema?: {
                [x: string]: unknown;
            } | undefined;
            last_test_at?: string | null | undefined;
            last_test_duration_ms?: number | null | undefined;
            last_test_error?: string | null | undefined;
            last_test_status?: string | null | undefined;
            name: string;
            parameters?: {
                [x: string]: unknown;
            }[] | undefined;
            returns_kind: string;
            sql_template: string;
            timeout_ms?: number | undefined;
            when_to_use?: string | undefined;
        }[];
    } & import("../index.js").ResponseMetadata>;
    get(functionName: string): Promise<{
        deployed_at?: string | null | undefined;
        deployed_by?: string | null | undefined;
        description?: string | undefined;
        examples?: {
            [x: string]: unknown;
        }[] | undefined;
        function_type: string;
        input_schema?: {
            [x: string]: unknown;
        } | undefined;
        last_test_at?: string | null | undefined;
        last_test_duration_ms?: number | null | undefined;
        last_test_error?: string | null | undefined;
        last_test_status?: string | null | undefined;
        name: string;
        parameters?: {
            [x: string]: unknown;
        }[] | undefined;
        returns_kind: string;
        sql_template: string;
        timeout_ms?: number | undefined;
        when_to_use?: string | undefined;
    } & import("../index.js").ResponseMetadata>;
    deploy(functionName: string, body: components['schemas']['RegisteredFunction']): Promise<{
        deployed_at?: string | null | undefined;
        deployed_by?: string | null | undefined;
        description?: string | undefined;
        examples?: {
            [x: string]: unknown;
        }[] | undefined;
        function_type: string;
        input_schema?: {
            [x: string]: unknown;
        } | undefined;
        last_test_at?: string | null | undefined;
        last_test_duration_ms?: number | null | undefined;
        last_test_error?: string | null | undefined;
        last_test_status?: string | null | undefined;
        name: string;
        parameters?: {
            [x: string]: unknown;
        }[] | undefined;
        returns_kind: string;
        sql_template: string;
        timeout_ms?: number | undefined;
        when_to_use?: string | undefined;
    } & import("../index.js").ResponseMetadata>;
    delete(functionName: string): Promise<void>;
    invoke(functionName: string, body: components['schemas']['InvokeRequest']): Promise<{
        duration_ms?: number | undefined;
        result?: unknown;
        row_count?: number | undefined;
    } & import("../index.js").ResponseMetadata>;
    test(functionName: string, body: components['schemas']['InvokeRequest']): Promise<components['schemas']['TestInvokeResponse']>;
}
//# sourceMappingURL=functions.d.ts.map