import { CommandResult, Logger } from '../types/cli.types';
import { RuntimeConfig } from '../../utils/types/runtime.config';
/**
 * Options for the build:microservices command.
 *
 * **Validates: Requirements 1.2, 1.3, 2.3, 6.2, 7.3**
 */
export interface BuildMicroservicesOptions {
    /** Deployment stage (dev, staging, prod) */
    stage?: string;
    /** Force rebuild even if bundles exist */
    force?: boolean;
    /** Enable verbose logging */
    verbose?: boolean;
}
/**
 * Resolve the stage to use for building microservices.
 *
 * Priority order:
 * 1. Explicit --stage parameter
 * 2. STAGE environment variable
 * 3. First stage in runtime.config.ts
 * 4. 'dev' default
 *
 * **Validates: Requirements 1.2, 1.3, 2.3**
 *
 * @param options - Command options
 * @param config - Runtime configuration
 * @returns Resolved stage name
 */
export declare function resolveStage(options: BuildMicroservicesOptions, config: RuntimeConfig): string;
/**
 * Build all microservice bundles for CDK synthesis.
 *
 * This command is designed to be called from cdk.json "build" hook
 * to ensure bundles are built exactly once before synthesis.
 *
 * When invoked from cdk/ directory (via cdk.json build hook), the command
 * automatically resolves paths relative to the parent project root where
 * runtime.config.ts and src/index.tsx are located.
 *
 * **Validates: Requirements 1.1, 1.2, 1.3, 1.5, 2.3**
 *
 * @param options - Build options
 * @param config - Runtime configuration
 * @param logger - Logger instance
 * @param cwd - Current working directory
 * @returns Command result with success status and exit code
 */
export declare function buildMicroservicesCommand(options: BuildMicroservicesOptions, config: RuntimeConfig, logger: Logger, cwd?: string): Promise<CommandResult>;
