export interface AwsCredentials { accessKeyId: string; secretAccessKey: string; sessionToken?: string; } export interface AwsRequestInput { method: 'GET' | 'POST'; service: string; region: string; host: string; path: string; query?: string; headers?: Record; body?: string; } export interface AwsHttpResponse { statusCode: number; body: string; headers: Record; } export type AwsTransport = (input: AwsRequestInput & { headers: Record; body: string; }) => Promise; export interface RetryOptions { /** Maximum number of retry attempts (default: 3) */ maxRetries?: number; /** Base delay in ms for exponential backoff (default: 100) */ baseDelayMs?: number; /** Maximum delay in ms (default: 5000) */ maxDelayMs?: number; /** Whether to retry on 5xx errors (default: true) */ retryOn5xx?: boolean; /** Whether to retry on network errors (default: true) */ retryOnNetworkError?: boolean; } export declare class AwsSignedClient { private readonly credentials; private readonly transport; private readonly retryOptions; constructor(credentials: AwsCredentials, transport?: AwsTransport, retryOptions?: RetryOptions); request(input: AwsRequestInput): Promise; private requestOnce; } //# sourceMappingURL=client.d.ts.map