import { type ITerminal } from '@rushstack/terminal'; import { type WebClient } from '@rushstack/rush-sdk/lib/utilities/WebClient'; import type { IAmazonS3BuildCacheProviderOptionsAdvanced } from './AmazonS3BuildCacheProvider'; import { type IAmazonS3Credentials } from './AmazonS3Credentials'; /** * A helper for reading and updating objects on Amazon S3 * * @public */ export declare class AmazonS3Client { private readonly _credentials; private readonly _s3Endpoint; private readonly _s3Region; private readonly _webClient; private readonly _terminal; constructor(credentials: IAmazonS3Credentials | undefined, options: IAmazonS3BuildCacheProviderOptionsAdvanced, webClient: WebClient, terminal: ITerminal); static UriEncode(input: string): string; static tryDeserializeCredentials(credentialString: string | undefined): IAmazonS3Credentials | undefined; getObjectAsync(objectName: string): Promise; uploadObjectAsync(objectName: string, objectBuffer: Buffer): Promise; private _writeDebugLine; private _writeWarningLine; private _makeRequestAsync; _getSha256Hmac(key: string | Buffer, data: string): Buffer; _getSha256Hmac(key: string | Buffer, data: string, encoding: 'hex'): string; private _getSha256; private _getIsoDateString; private _safeReadResponseTextAsync; private _getS3ErrorAsync; /** * Validates a S3 endpoint which is http(s):// + hostname + port. Hostname validated according to RFC 1123 * {@link https://docs.aws.amazon.com/general/latest/gr/s3.html} */ private _validateEndpoint; private _sendCacheRequestWithRetriesAsync; } //# sourceMappingURL=AmazonS3Client.d.ts.map