import type { MicroserviceDefinition } from '../../lib/runtime-web/types/microservice.types';
/**
 * Verification result for pre-built bundles.
 *
 * Used by RuntimeWebStack to verify that microservice bundles
 * were built by the CDK build hook before synthesis.
 *
 * **Validates: Requirements 3.1, 3.3**
 */
export interface BundleVerificationResult {
    /** Whether all expected bundles exist */
    valid: boolean;
    /** List of bundle paths that were not found */
    missingBundles: string[];
    /** List of bundle paths that were found */
    foundBundles: string[];
    /** Optional error message for invalid results */
    errorMessage?: string;
}
/**
 * Get the expected bundle output path for a microservice.
 *
 * Returns the path following the pattern:
 * `{cdkOutDir}/microservice-bundles/{microserviceName}-layer-{stage}/nodejs/bundle.js`
 *
 * @param microserviceName - Name of the microservice
 * @param stage - Deployment stage
 * @param cdkOutDir - CDK output directory (defaults to 'cdk.out')
 * @returns Full path to the expected bundle file
 *
 * **Validates: Requirements 1.4, 3.1**
 */
export declare function getBundlePath(microserviceName: string, stage: string, cdkOutDir?: string): string;
/**
 * Verify that pre-built microservice bundles exist.
 *
 * Called by RuntimeWebStack constructor to ensure bundles
 * were built by the CDK build hook before synthesis.
 *
 * For each microservice in the register, checks if the expected
 * bundle file exists at the path:
 * `{cdkOutDir}/microservice-bundles/{microserviceName}-layer-{stage}/nodejs/bundle.js`
 *
 * @param register - Map of microservice names to definitions
 * @param stage - Deployment stage
 * @param cdkOutDir - CDK output directory (defaults to 'cdk.out')
 * @returns Verification result with lists of found and missing bundles
 *
 * **Validates: Requirements 3.1, 3.3**
 */
export declare function verifyPreBuiltBundles(register: Record<string, MicroserviceDefinition>, stage: string, cdkOutDir?: string): BundleVerificationResult;
/**
 * Generate error message for missing bundles.
 *
 * Provides clear instructions on how to fix the issue,
 * including the exact command to run and migration guidance
 * for existing projects.
 *
 * @param missingBundles - List of missing bundle paths
 * @param stage - Deployment stage
 * @returns Formatted error message with troubleshooting guidance
 *
 * **Validates: Requirements 3.2, 5.5, 7.2**
 */
export declare function generateMissingBundlesError(missingBundles: string[], stage: string): string;
