/**
 * Copilot Executor
 *
 * Main execution flow for running Claude Code with copilot-api proxy.
 * Uses local installation from ~/.ccs/copilot/ (managed by copilot-package-manager).
 */
import { CopilotConfig } from '../config/unified-config-types';
import { ensureCliproxyService } from '../cliproxy';
import { getEffectiveApiKey } from '../cliproxy/auth/auth-token-manager';
import { CopilotStatus } from './types';
import { getImageAnalysisHookEnv, resolveImageAnalysisRuntimeStatus } from '../utils/hooks';
interface CopilotImageAnalysisDeps {
    ensureCliproxyService: typeof ensureCliproxyService;
    getImageAnalysisHookEnv: typeof getImageAnalysisHookEnv;
    resolveImageAnalysisRuntimeStatus: typeof resolveImageAnalysisRuntimeStatus;
    getLocalRuntimeApiKey: typeof getEffectiveApiKey;
}
interface CopilotImageAnalysisResolution {
    env: Record<string, string>;
    warning: string | null;
}
/**
 * Get full copilot status (auth + daemon).
 */
export declare function getCopilotStatus(config: CopilotConfig): Promise<CopilotStatus>;
/**
 * Generate environment variables for Claude Code to use copilot-api.
 * Uses model mapping for opus/sonnet/haiku tiers if configured.
 */
export declare function generateCopilotEnv(config: CopilotConfig, claudeConfigDir?: string): Record<string, string>;
export declare function resolveCopilotImageAnalysisEnv(verbose?: boolean, deps?: Partial<CopilotImageAnalysisDeps>): Promise<CopilotImageAnalysisResolution>;
/**
 * Execute Claude Code with copilot-api proxy.
 *
 * @param config Copilot configuration
 * @param claudeArgs Arguments to pass to Claude CLI
 * @returns Exit code
 */
export declare function executeCopilotProfile(config: CopilotConfig, claudeArgs: string[], claudeConfigDir?: string, claudeCliPath?: string): Promise<number>;
export {};
//# sourceMappingURL=copilot-executor.d.ts.map