import { PersistenceAdapter } from 'ask-sdk-core'; import { RequestEnvelope } from 'ask-sdk-model'; import { S3 } from 'aws-sdk'; import { ObjectKeyGenerator } from './ObjectKeyGenerators'; /** * Implementation of {@link PersistenceAdapter} using AWS S3 */ export declare class S3PersistenceAdapter implements PersistenceAdapter { protected bucketName: string; protected s3Client: S3; protected objectKeyGenerator: ObjectKeyGenerator; protected pathPrefix: string; constructor(config: { bucketName: string; s3Client?: S3; objectKeyGenerator?: ObjectKeyGenerator; pathPrefix?: string; }); /** * Retrieves persistence attributes from AWS S3. * @param {RequestEnvelope} requestEnvelope Request envelope used to generate object key. * @returns {Promise>} */ getAttributes(requestEnvelope: RequestEnvelope): Promise<{ [key: string]: string; }>; /** * Saves persistence attributes to AWS S3. * @param {RequestEnvelope} requestEnvelope Request envelope used to generate object key. * @param {Object.} attributes Attributes to be saved to DynamoDB. * @return {Promise} */ saveAttributes(requestEnvelope: RequestEnvelope, attributes: { [key: string]: string; }): Promise; deleteAttributes(requestEnvelope: RequestEnvelope): Promise; }