import { SignatureV4CryptoInit, SignatureV4Init } from "@smithy/signature-v4"; import { AuthScheme, AwsCredentialIdentity, ChecksumConstructor, HashConstructor, Logger, MemoizedProvider, Provider, RegionInfoProvider, RequestSigner, } from "@smithy/types"; export interface AwsAuthInputConfig { credentials?: AwsCredentialIdentity | Provider; signer?: | RequestSigner | ((authScheme?: AuthScheme) => Promise); signingEscapePath?: boolean; systemClockOffset?: number; signingRegion?: string; signerConstructor?: new ( options: SignatureV4Init & SignatureV4CryptoInit ) => RequestSigner; } export interface SigV4AuthInputConfig { credentials?: AwsCredentialIdentity | Provider; signer?: | RequestSigner | ((authScheme?: AuthScheme) => Promise); signingEscapePath?: boolean; systemClockOffset?: number; } interface PreviouslyResolved { credentialDefaultProvider: ( input: any ) => MemoizedProvider; region: string | Provider; regionInfoProvider?: RegionInfoProvider; signingName?: string; defaultSigningName?: string; serviceId: string; sha256: ChecksumConstructor | HashConstructor; useFipsEndpoint: Provider; useDualstackEndpoint: Provider; } interface SigV4PreviouslyResolved { credentialDefaultProvider: ( input: any ) => MemoizedProvider; region: string | Provider; signingName: string; sha256: ChecksumConstructor | HashConstructor; logger?: Logger; } export interface AwsAuthResolvedConfig { credentials: MemoizedProvider; signer: (authScheme?: AuthScheme) => Promise; signingEscapePath: boolean; systemClockOffset: number; } export interface SigV4AuthResolvedConfig extends AwsAuthResolvedConfig {} export declare const resolveAwsAuthConfig: ( input: T & AwsAuthInputConfig & PreviouslyResolved ) => T & AwsAuthResolvedConfig; export declare const resolveSigV4AuthConfig: ( input: T & SigV4AuthInputConfig & SigV4PreviouslyResolved ) => T & SigV4AuthResolvedConfig; export {};