import type { AgentDetail, UpdateAgentInput } from '../lib/api-client/config';
export type { AgentDetail, ToolDetail, UpdateAgentInput, } from '../lib/api-client/config';
interface UseAgentsOptions {
    enabled?: boolean;
}
export declare function useAgentDetails(options?: UseAgentsOptions): import("@tanstack/react-query").UseQueryResult<{
    agents: Array<{
        name: string;
        builtin: boolean;
        custom: boolean;
        source: "builtin" | "local" | "global" | "merged" | "embedded";
        prompt: string;
        promptSource: string;
        description?: string;
        defaultDescription?: string;
        toolConfig: {
            firstClass?: Array<string>;
            loadable?: Array<string>;
        };
        defaultToolConfig: {
            firstClass?: Array<string>;
            loadable?: Array<string>;
        };
        appendToolConfig: {
            firstClass?: Array<string>;
            loadable?: Array<string>;
        };
        provider?: string;
        model?: string;
        editable: boolean;
        hasLocalOverride: boolean;
        hasGlobalOverride: boolean;
    }>;
    default: string;
}, Error>;
export declare function useAgent(agentName: string | null): import("@tanstack/react-query").UseQueryResult<{
    agent: {
        name: string;
        builtin: boolean;
        custom: boolean;
        source: "builtin" | "local" | "global" | "merged" | "embedded";
        prompt: string;
        promptSource: string;
        description?: string;
        defaultDescription?: string;
        toolConfig: {
            firstClass?: Array<string>;
            loadable?: Array<string>;
        };
        defaultToolConfig: {
            firstClass?: Array<string>;
            loadable?: Array<string>;
        };
        appendToolConfig: {
            firstClass?: Array<string>;
            loadable?: Array<string>;
        };
        provider?: string;
        model?: string;
        editable: boolean;
        hasLocalOverride: boolean;
        hasGlobalOverride: boolean;
    };
}, Error>;
/**
 * Lightweight agent list for @mention suggestions and input highlighting.
 * Shares the cache with useAgentDetails but has no store side effects.
 */
export declare function useMentionAgents(options?: UseAgentsOptions): import("@tanstack/react-query").UseQueryResult<{
    agents: Array<{
        name: string;
        builtin: boolean;
        custom: boolean;
        source: "builtin" | "local" | "global" | "merged" | "embedded";
        prompt: string;
        promptSource: string;
        description?: string;
        defaultDescription?: string;
        toolConfig: {
            firstClass?: Array<string>;
            loadable?: Array<string>;
        };
        defaultToolConfig: {
            firstClass?: Array<string>;
            loadable?: Array<string>;
        };
        appendToolConfig: {
            firstClass?: Array<string>;
            loadable?: Array<string>;
        };
        provider?: string;
        model?: string;
        editable: boolean;
        hasLocalOverride: boolean;
        hasGlobalOverride: boolean;
    }>;
    default: string;
}, Error>;
export declare function useConfigTools(options?: UseAgentsOptions): import("@tanstack/react-query").UseQueryResult<{
    tools: Array<{
        name: string;
        description?: string;
        category: "first_class" | "loadable" | "core" | "filesystem" | "search" | "editing" | "shell" | "git" | "web" | "mcp" | "skill" | "research" | "orchestration" | "custom" | "other";
        source: "builtin" | "mcp" | "skill" | "custom";
        activation?: "first_class" | "loadable" | "mcp";
        required?: boolean;
        risky?: boolean;
        available: boolean;
    }>;
}, Error>;
export declare function useUpdateAgent(): import("@tanstack/react-query").UseMutationResult<{
    agent: {
        name: string;
        builtin: boolean;
        custom: boolean;
        source: "builtin" | "local" | "global" | "merged" | "embedded";
        prompt: string;
        promptSource: string;
        description?: string;
        defaultDescription?: string;
        toolConfig: {
            firstClass?: Array<string>;
            loadable?: Array<string>;
        };
        defaultToolConfig: {
            firstClass?: Array<string>;
            loadable?: Array<string>;
        };
        appendToolConfig: {
            firstClass?: Array<string>;
            loadable?: Array<string>;
        };
        provider?: string;
        model?: string;
        editable: boolean;
        hasLocalOverride: boolean;
        hasGlobalOverride: boolean;
    };
}, Error, {
    name: string;
    input: UpdateAgentInput;
}, unknown>;
export declare function useDeleteAgent(): import("@tanstack/react-query").UseMutationResult<{
    deleted: boolean;
    builtin: boolean;
    agent?: {
        name: string;
        builtin: boolean;
        custom: boolean;
        source: "builtin" | "local" | "global" | "merged" | "embedded";
        prompt: string;
        promptSource: string;
        description?: string;
        defaultDescription?: string;
        toolConfig: {
            firstClass?: Array<string>;
            loadable?: Array<string>;
        };
        defaultToolConfig: {
            firstClass?: Array<string>;
            loadable?: Array<string>;
        };
        appendToolConfig: {
            firstClass?: Array<string>;
            loadable?: Array<string>;
        };
        provider?: string;
        model?: string;
        editable: boolean;
        hasLocalOverride: boolean;
        hasGlobalOverride: boolean;
    };
}, Error, {
    name: string;
    scope?: "local" | "global";
}, unknown>;
export declare function useSetDefaultAgent(): import("@tanstack/react-query").UseMutationResult<{
    success: boolean;
    defaults: {
        agent: string;
        provider: string;
        model: string;
        toolApproval?: "auto" | "dangerous" | "all" | "yolo";
        guidedMode?: boolean;
        reasoningText?: boolean;
        reasoningLevel?: "minimal" | "low" | "medium" | "high" | "max" | "xhigh";
        theme?: "light" | "dark";
        tuiTheme?: string;
        vimMode?: boolean;
        compactThread?: boolean;
        fontFamily?: string;
        smartEdges?: boolean;
        releaseToSend?: boolean;
        fullWidthContent?: boolean;
        autoCompactThresholdTokens?: number | null;
        coAuthorCommits?: boolean;
        ottoEnabled?: boolean;
    };
}, Error, string, unknown>;
export declare function getAgentToolCount(agent: AgentDetail | null | undefined): number;
//# sourceMappingURL=useAgents.d.ts.map