import type { AiContext, AiProviderName, GeneratedFile } from '../domain/types.js';
import type { AiGeneratorPort } from '../ports/generator.port.js';
/** Base adapter with shared symlink logic; subclasses override `generate()` for provider-specific output. */
export declare abstract class BaseAdapter implements AiGeneratorPort {
    abstract readonly providerName: AiProviderName;
    copyConfigFiles(contextDir: string, dryRun: boolean): string[];
    createSymlinks(context: AiContext, rootDir: string, dryRun: boolean): string[];
    protected ensureSymlink(link: string, target: string, baseDir: string, dryRun: boolean): string[];
    generate(context: AiContext, rootDir: string): GeneratedFile[];
    private createMergedSymlinks;
    private isSymlink;
}
