declare const createIntegrator: <P extends import("../index.js").Provider>(config: Readonly<{
    connection: import("../index.js").Connection;
    provider: import("../index.js").Provider;
    model?: string | undefined;
    modelId?: string | undefined;
    includeListToolsTool?: boolean | undefined;
    maxParallelCalls?: number | undefined;
}> & {
    provider: P;
}) => Readonly<{
    connect: () => Promise<void>;
    disconnect: () => Promise<void>;
    getTools: () => Promise<readonly Readonly<{
        name: string;
        description: string;
        inputSchema: Readonly<{
            type: "object";
            properties: Readonly<Record<string, {
                type: string;
                description?: string | undefined;
                enum?: readonly string[] | undefined;
                nullable?: boolean | undefined;
            }>>;
            required?: readonly string[] | undefined;
        }>;
        outputSchema?: Readonly<{
            type: "object";
            properties: Readonly<Record<string, {
                type: string;
                description?: string | undefined;
                enum?: readonly string[] | undefined;
                nullable?: boolean | undefined;
            }>>;
            required?: readonly string[] | undefined;
        }> | undefined;
    }>[]>;
    formatToolsForProvider: (tools: readonly Readonly<{
        name: string;
        description: string;
        inputSchema: Readonly<{
            type: "object";
            properties: Readonly<Record<string, {
                type: string;
                description?: string | undefined;
                enum?: readonly string[] | undefined;
                nullable?: boolean | undefined;
            }>>;
            required?: readonly string[] | undefined;
        }>;
        outputSchema?: Readonly<{
            type: "object";
            properties: Readonly<Record<string, {
                type: string;
                description?: string | undefined;
                enum?: readonly string[] | undefined;
                nullable?: boolean | undefined;
            }>>;
            required?: readonly string[] | undefined;
        }> | undefined;
    }>[]) => readonly import("./types.js").ToolFormat<P>[];
    extractToolCalls: (response: import("./types.js").ProviderResponse<P>) => readonly Readonly<{
        id: string;
        name: string;
        input: unknown;
    }>[];
    executeToolCalls: (calls: readonly Readonly<{
        id: string;
        name: string;
        input: unknown;
    }>[]) => Promise<readonly Readonly<{
        id: string;
        content: unknown;
    }>[]>;
    createToolResponseRequest: (originalRequest: import("./types.js").ProviderRequest<P>, response: import("./types.js").ProviderResponse<P>, results: readonly Readonly<{
        id: string;
        content: unknown;
    }>[]) => import("./types.js").ProviderRequest<P>;
}>;
export declare const name = "integrator";
export { createIntegrator };
export * from './types.js';
