export interface BuildContext { cwd: string; outDir: string; mode: 'development' | 'production'; target: DeploymentTarget; } export interface DeploymentTarget { name: string; platform: 'static' | 'server' | 'serverless' | 'cdn'; config: Record; } export interface AdapterOptions { outDir?: string; publicPath?: string; prerender?: boolean; generateSitemap?: boolean; compression?: boolean; } export declare abstract class BaseAdapter { protected name: string; protected platform: DeploymentTarget['platform']; protected options: AdapterOptions; constructor(name: string, platform: DeploymentTarget['platform'], options?: AdapterOptions); abstract prepareBuild(context: BuildContext): Promise; abstract processBuild(context: BuildContext): Promise; abstract generateDeploymentFiles(context: BuildContext): Promise; abstract validateDeployment(context: BuildContext): Promise; getName(): string; getPlatform(): DeploymentTarget['platform']; getOptions(): AdapterOptions; protected log(message: string): void; protected logError(message: string, error?: Error): void; }