/**
 * Command metadata for credential requirements
 *
 * Defines whether a command requires AWS credentials and under what conditions.
 */
export interface CommandMetadata {
    /** Command name (e.g., 'init', 'deploy', 'build') */
    name: string;
    /** Whether the command always requires AWS credentials */
    requiresAwsCredentials: boolean;
    /**
     * Optional function to determine if credentials are required based on command options
     * This allows for conditional credential requirements (e.g., init --cdk, build --target lambda)
     */
    requiresAwsCredentialsIf?: (options: any) => boolean;
}
/**
 * Command registry with credential requirements
 *
 * This registry defines which commands require AWS credentials and under what conditions.
 * Commands not requiring credentials can run without AWS configuration, while commands
 * requiring credentials will validate early with friendly error messages.
 */
export declare const COMMAND_REGISTRY: CommandMetadata[];
/**
 * Check if command requires AWS credentials
 *
 * This function determines whether a command requires AWS credentials based on
 * the command name and options. It consults the COMMAND_REGISTRY to make this
 * determination.
 *
 * @param commandName - Name of the command (e.g., 'init', 'deploy')
 * @param options - Command options that may affect credential requirements
 * @returns True if the command requires AWS credentials, false otherwise
 *
 * @example
 * ```typescript
 * // Init without CDK doesn't require credentials
 * commandRequiresCredentials('init', {}) // false
 *
 * // Init with CDK requires credentials
 * commandRequiresCredentials('init', { cdk: true }) // true
 *
 * // Deploy always requires credentials
 * commandRequiresCredentials('deploy', {}) // true
 *
 * // Build without AWS targets doesn't require credentials
 * commandRequiresCredentials('build', { target: 'react' }) // false
 *
 * // Build with Lambda target requires credentials
 * commandRequiresCredentials('build', { target: 'lambda' }) // true
 * ```
 */
export declare function commandRequiresCredentials(commandName: string, options?: any): boolean;
