import { DynamoDBClient } from '@aws-sdk/client-dynamodb'; import { S3Client } from '@aws-sdk/client-s3'; import { SecretsManagerClient } from '@aws-sdk/client-secrets-manager'; import { SSMClient } from '@aws-sdk/client-ssm'; import { STSClient } from '@aws-sdk/client-sts'; import type { AwsCredentialIdentity } from '@smithy/types'; export type AWSClientClassType = typeof DynamoDBClient | typeof S3Client | typeof STSClient | typeof SecretsManagerClient | typeof SSMClient; export type AWSClientInstanceType = DynamoDBClient | S3Client | STSClient | SecretsManagerClient | SSMClient; export type AWSProfileName = 'default' | 'apps' | 'publishing'; export type AWSAssumableRole = 'publishing'; export type AWSAssumableRolesConfig = Record; export type AWSCredentials = AwsCredentialIdentity; export type AWSCapitalCredentials = { AWS_ACCESS_KEY_ID: string; AWS_SECRET_ACCESS_KEY: string; AWS_SESSION_TOKEN: string; }; export type CreateAWSServiceParams = { profile?: AWSProfileName; region?: string; settings?: Record; credentials?: AWSCredentials; credentialsFilepath?: string; [key: string]: any; }; export type AWSS3Location = { bucket: string; key: string; };