import type { ConnectedAccountListParams, ConnectedAccountListResponse, ToolListParams, ToolkitConnectionsDetails, ToolRouterSessionSearchResponse } from "@composio/core";
import type { ComposioAgentTool, ComposioAgentToolsOptions, ComposioBaseOptions, ComposioConnectResult, ComposioExecuteResult, ComposioRawTool, ComposioToolListResult } from "./types.js";
export declare class ComposioService {
    private readonly options;
    private readonly provider;
    private clientPromise;
    private readonly rawToolCache;
    private readonly sessionCache;
    constructor(options?: ComposioBaseOptions);
    resolveUserId(): Promise<string>;
    private resolveApiKey;
    private getClient;
    getRawToolBySlug(slug: string): Promise<ComposioRawTool>;
    listRawTools(filters: ToolListParams): Promise<ComposioToolListResult>;
    private resolveToolListFilters;
    private resolveSessionSelection;
    private getSession;
    listToolkits(input: {
        toolkits?: string[];
        search?: string;
        limit?: number;
        nextCursor?: string;
        isConnected?: boolean;
    }): Promise<ToolkitConnectionsDetails>;
    searchTools(query: string, toolkits?: string[]): Promise<ToolRouterSessionSearchResponse>;
    createAgentTools(options: ComposioAgentToolsOptions): Promise<ComposioAgentTool[]>;
    executeTool(options: ComposioAgentToolsOptions & {
        toolSlug: string;
        arguments?: Record<string, unknown>;
    }): Promise<ComposioExecuteResult>;
    listAccounts(filters?: ConnectedAccountListParams): Promise<ConnectedAccountListResponse>;
    connectAccount(options: {
        toolkit?: string;
        connectedAccountId?: string;
        authConfigId?: string;
        callbackUrl?: string;
    }): Promise<ComposioConnectResult>;
}
export declare function createComposioAgentTools(options: ComposioAgentToolsOptions): Promise<ComposioAgentTool[]>;
