import { AwsClients } from './aws';
import type { TestContext } from './integ-test';
import { ResourcePool } from './resource-pool';
import type { DisableBootstrapContext } from './with-cdk-app';
export declare function atmosphereEnabled(): boolean;
export declare function atmosphereEndpoint(): string;
export declare function atmospherePool(): string;
export type AwsContext = {
    readonly aws: AwsClients;
};
export interface AwsContextOptions {
    /**
     * Request the test environment to be in one of these regions
     *
     * @default - all regions are possible
     */
    readonly regions?: string[];
    /**
     * Do not bootstrap the env
     *
     * @default false
     */
    readonly disableBootstrap?: boolean;
}
/**
 * Higher order function to execute a block with an AWS client setup
 *
 * Allocate the next region from the REGION pool and dispose it afterwards.
 */
export declare function withAws<A extends TestContext>(block: (context: A & AwsContext & DisableBootstrapContext) => Promise<void>, options?: AwsContextOptions): (context: A) => Promise<void>;
export declare function regionPool(): ResourcePool;
