import * as cxapi from '@aws-cdk/cx-api';
import * as AWS from 'aws-sdk';
import * as cdk_assets from 'cdk-assets';
import { SdkProvider } from '../api/aws-auth/sdk-provider';
export interface PublishAssetsOptions {
    /**
     * Print progress at 'debug' level
     */
    readonly quiet?: boolean;
    /**
     * Whether to build assets before publishing.
     *
     * @default true To remain backward compatible.
     */
    readonly buildAssets?: boolean;
    /**
     * Whether to build/publish assets in parallel
     *
     * @default true To remain backward compatible.
     */
    readonly parallel?: boolean;
}
/**
 * Use cdk-assets to publish all assets in the given manifest.
 */
export declare function publishAssets(manifest: cdk_assets.AssetManifest, sdk: SdkProvider, targetEnv: cxapi.Environment, options?: PublishAssetsOptions): Promise<void>;
export interface BuildAssetsOptions {
    /**
     * Print progress at 'debug' level
     */
    readonly quiet?: boolean;
    /**
     * Build assets in parallel
     *
     * @default true
     */
    readonly parallel?: boolean;
}
/**
 * Use cdk-assets to build all assets in the given manifest.
 */
export declare function buildAssets(manifest: cdk_assets.AssetManifest, sdk: SdkProvider, targetEnv: cxapi.Environment, options?: BuildAssetsOptions): Promise<void>;
export declare class PublishingAws implements cdk_assets.IAws {
    /**
     * The base SDK to work with
     */
    private readonly aws;
    /**
     * Environment where the stack we're deploying is going
     */
    private readonly targetEnv;
    private sdkCache;
    constructor(
    /**
     * The base SDK to work with
     */
    aws: SdkProvider, 
    /**
     * Environment where the stack we're deploying is going
     */
    targetEnv: cxapi.Environment);
    discoverPartition(): Promise<string>;
    discoverDefaultRegion(): Promise<string>;
    discoverCurrentAccount(): Promise<cdk_assets.Account>;
    discoverTargetAccount(options: cdk_assets.ClientOptions): Promise<cdk_assets.Account>;
    s3Client(options: cdk_assets.ClientOptions): Promise<AWS.S3>;
    ecrClient(options: cdk_assets.ClientOptions): Promise<AWS.ECR>;
    secretsManagerClient(options: cdk_assets.ClientOptions): Promise<AWS.SecretsManager>;
    /**
     * Get an SDK appropriate for the given client options
     */
    private sdk;
}
export declare const EVENT_TO_LOGGER: Record<cdk_assets.EventType, (x: string) => void>;
