/** * AWS Signature Version 4 Utilities * Implements AWS Signature V4 signing for API requests * * @see https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html */ import type { AWSSignatureV4Options, AWSSignatureV4Result } from '@plyaz/types/api'; /** * Generate AWS Signature Version 4 for request authentication * * @param options - Signature generation options * @param options.accessKeyId - AWS access key ID * @param options.secretAccessKey - AWS secret access key * @param options.sessionToken - AWS session token (optional, for temporary credentials) * @param options.region - AWS region (e.g., 'us-east-1') * @param options.service - AWS service name (e.g., 'cloudfront', 's3') * @param options.method - HTTP method (e.g., 'GET', 'POST') * @param options.path - Request path * @param options.queryString - Query string parameters (optional) * @param options.headers - HTTP headers * @param options.payload - Request payload/body * @param options.host - Host header value * @param options.timestamp - ISO 8601 timestamp in YYYYMMDDTHHmmssZ format (optional, auto-generated if not provided) * @returns Signed headers and authorization header * * @example * ```typescript * const { headers, authorization } = generateAWSSignatureV4({ * accessKeyId: 'AKIAIOSFODNN7EXAMPLE', * secretAccessKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY', * region: 'us-east-1', * service: 'cloudfront', * method: 'POST', * path: '/2020-05-31/distribution/E1234/invalidation', * headers: { 'Host': 'cloudfront.amazonaws.com', 'Content-Type': 'application/xml' }, * payload: '...', * }); * ``` */ export declare function generateAWSSignatureV4(options: AWSSignatureV4Options): AWSSignatureV4Result; //# sourceMappingURL=signature-v4.d.ts.map