import type { AiContext, AiProviderName } from '../domain/types.js';
import type { AiGeneratorPort } from '../ports/generator.port.js';
import type { AiPromptPort } from '../ports/prompt.port.js';
export interface AiSetupPorts {
    generators: Map<AiProviderName, AiGeneratorPort>;
    prompt: AiPromptPort;
}
export interface AiSetupOptions {
    all?: boolean;
    contexts: AiContext[];
    dryRun?: boolean;
    force?: boolean;
    providers?: AiProviderName[];
    rootDir: string;
}
export interface AiSetupResult {
    configsCopied: number;
    filesWritten: number;
    messages: string[];
    symlinksCreated: number;
}
export declare class AiSetupService {
    private readonly ports;
    constructor(ports: AiSetupPorts);
    execute(options: AiSetupOptions): Promise<AiSetupResult>;
    private processContext;
    private resolveProviders;
}
