import type { ProgressEvent } from "../../types/events.js"; /** * Emits a progress event through the callbacks if available. */ export declare function emitProgress(callbacks: { onProgress?: (event: ProgressEvent) => void; } | undefined, message: string, type?: ProgressEvent["type"]): void; /** Progress message constants — avoids magic string repetition */ export declare const PROGRESS_MESSAGES: Readonly<{ readonly BUILD: "Building Next.js application"; readonly SYNTH: "Synthesising infrastructure"; readonly HASH: "Comparing template hashes"; readonly DOCKER: "Validating Docker configuration"; readonly SECRETS: "Validating SSM secrets"; }>; /** * Parse Next.js/OpenNext build output to extract meaningful phase transitions. * Returns a clean status message for display instead of raw build output. * * Only updates when a meaningful phase change is detected to avoid UI flicker. */ export declare function parseBuildPhase(message: string, currentPhase: string): string; /** * Build the StepContext build configuration from a buildConfig object. * Extracts the database-related fields with defaults. */ export declare function buildStepContextBuildConfig(buildConfig: { requiresDatabase?: boolean; databaseEnvVar?: string; } | undefined): { requiresDatabase: boolean; databaseEnvVar: string; } | undefined; /** * CloudFormation output shape (matches AWS SDK Output type). */ export interface CloudFormationOutput { OutputKey?: string; OutputValue?: string; ExportName?: string; } /** * Convert CloudFormation outputs array to a key-value record. * Filters out outputs without keys and handles undefined values. */ export declare function convertCloudFormationOutputsToRecord(outputs: CloudFormationOutput[]): Record; /** * Convert CloudFormation outputs to a record keyed by EXPORT name, for a * consumer that looks an output up by the name the export-name contract * builds (`deployableServiceExportName` and its siblings in `@fjall/util`). * Outputs without an export name, or without a value, are skipped. */ export declare function convertCloudFormationOutputsToExportRecord(outputs: CloudFormationOutput[]): Record;