/**
 * Synchronous Account ID Resolution for Lambda Kata CDK Integration
 *
 * This module provides synchronous account ID resolution for use during
 * CDK synthesis, which requires synchronous operations.
 *
 * Resolution strategies (in order of precedence):
 * 1. CDK context value (explicit configuration)
 * 2. Stack account (if not a token/unresolved)
 * 3. Environment variables (AWS_ACCOUNT_ID, CDK_DEFAULT_ACCOUNT)
 * 4. STS GetCallerIdentity via execSync (fallback)
 *
 * @module sync-account-resolver
 */
import { Construct } from 'constructs';
/**
 * Error thrown when account ID cannot be resolved through any strategy.
 */
export declare class SyncAccountResolutionError extends Error {
    constructor(message: string);
}
/**
 * Result of account ID resolution, including the source of the resolution.
 */
export interface SyncAccountResolutionResult {
    accountId: string;
    source: 'context' | 'stack' | 'env' | 'sts';
}
/**
 * Options for synchronous account ID resolution.
 */
export interface SyncAccountResolverOptions {
    /**
     * Whether to skip the STS fallback (useful for testing).
     * Default: false
     */
    skipStsFallback?: boolean;
}
/**
 * Resolves the target AWS account ID synchronously.
 *
 * This function attempts to determine the AWS account ID using multiple
 * strategies in order of precedence:
 *
 * 1. **CDK Context**: Checks for `aws:cdk:account` context value
 * 2. **Stack Account**: Uses the Stack's account if it's not a token
 * 3. **Environment Variables**: Checks AWS_ACCOUNT_ID, CDK_DEFAULT_ACCOUNT
 * 4. **STS Fallback**: Calls AWS CLI sts get-caller-identity
 *
 * @param scope - The CDK construct scope to resolve the account for
 * @param options - Optional configuration for resolution behavior
 * @returns The AWS account ID (12-digit string)
 * @throws SyncAccountResolutionError if account cannot be resolved
 */
export declare function resolveAccountIdSync(scope: Construct, options?: SyncAccountResolverOptions): string;
/**
 * Resolves the target AWS account ID synchronously with source information.
 */
export declare function resolveAccountIdSyncWithSource(scope: Construct, options?: SyncAccountResolverOptions): SyncAccountResolutionResult;
/**
 * Resolves the deployment region synchronously.
 */
export declare function resolveRegionSync(scope: Construct): string;
