import type { AssumeRoleCommandInput } from '@aws-sdk/client-sts'; import type { CompleteMultipartUploadCommandOutput, DescribeImagesCommandInput, DescribeImagesCommandOutput, DescribeRepositoriesCommandInput, DescribeRepositoriesCommandOutput, GetAuthorizationTokenCommandInput, GetAuthorizationTokenCommandOutput, GetBucketEncryptionCommandInput, GetBucketEncryptionCommandOutput, GetBucketLocationCommandInput, GetBucketLocationCommandOutput, GetSecretValueCommandInput, GetSecretValueCommandOutput, ListObjectsV2CommandInput, ListObjectsV2CommandOutput, PutObjectCommandInput } from './aws-types'; export type AssumeRoleAdditionalOptions = Partial>; export interface IS3Client { getBucketEncryption(input: GetBucketEncryptionCommandInput): Promise; getBucketLocation(input: GetBucketLocationCommandInput): Promise; listObjectsV2(input: ListObjectsV2CommandInput): Promise; upload(input: PutObjectCommandInput): Promise; } export interface IECRClient { describeImages(input: DescribeImagesCommandInput): Promise; describeRepositories(input: DescribeRepositoriesCommandInput): Promise; getAuthorizationToken(input?: GetAuthorizationTokenCommandInput): Promise; } export interface ISecretsManagerClient { getSecretValue(input: GetSecretValueCommandInput): Promise; } /** * AWS SDK operations required by Asset Publishing */ export interface IAws { discoverPartition(): Promise; discoverDefaultRegion(): Promise; discoverCurrentAccount(): Promise; discoverTargetAccount(options: ClientOptions): Promise; s3Client(options: ClientOptions): Promise; ecrClient(options: ClientOptions): Promise; secretsManagerClient(options: ClientOptions): Promise; } export interface ClientOptions { region?: string; assumeRoleArn?: string; assumeRoleExternalId?: string; assumeRoleAdditionalOptions?: AssumeRoleAdditionalOptions; } /** * An AWS account * * An AWS account always exists in only one partition. Usually we don't care about * the partition, but when we need to form ARNs we do. */ export interface Account { /** * The account number */ readonly accountId: string; /** * The partition ('aws' or 'aws-cn' or otherwise) */ readonly partition: string; } /** * AWS client using the AWS SDK for JS with no special configuration */ export declare class DefaultAwsClient implements IAws { private readonly profile?; private account?; private config; private readonly mainCredentials; constructor(profile?: string | undefined); s3Client(options: ClientOptions): Promise; ecrClient(options: ClientOptions): Promise; secretsManagerClient(options: ClientOptions): Promise; discoverPartition(): Promise; discoverDefaultRegion(): Promise; discoverCurrentAccount(): Promise; discoverTargetAccount(options: ClientOptions): Promise; private getAccount; private awsOptions; }