import type { AgentSession } from "../core/agent-session.js";
import type { AgentSessionServices } from "../core/agent-session-services.js";
export interface CapabilitiesReport {
    version: string;
    cwd: string;
    currentModel?: {
        provider: string;
        id: string;
        thinkingLevel: string;
        supportsImages: boolean;
        supportsThinking: boolean;
    };
    providers: {
        total: number;
        configured: string[];
    };
    models: {
        total: number;
        available: number;
    };
    tools: {
        builtIn: string[];
        active: string[];
        registered: string[];
    };
    commands: {
        builtIn: string[];
        extension: string[];
        prompt: string[];
        skill: string[];
    };
    resources: {
        extensions: number;
        extensionNames: string[];
        extensionErrors: number;
        extensionLoadErrors: Array<{
            path: string;
            error: string;
        }>;
        skills: number;
        prompts: number;
        themes: number;
        contextFiles: number;
    };
    session: {
        persisted: boolean;
        sessionId?: string;
        messages: number;
        toolCalls: number;
        contextPercent?: number | null;
    };
}
export interface CollectCapabilitiesOptions {
    session: AgentSession;
    services: AgentSessionServices;
    version?: string;
}
export declare function collectCapabilitiesReport(options: CollectCapabilitiesOptions): CapabilitiesReport;
export declare function formatCapabilitiesReport(report: CapabilitiesReport): string;
export declare function runCapabilitiesCommand(args: string[], options: CollectCapabilitiesOptions): Promise<boolean>;
//# sourceMappingURL=capabilities.d.ts.map