import { Activity, PagedResult, TranscriptInfo, TranscriptStore } from 'botbuilder-core'; import { AnonymousCredential, StoragePipelineOptions, StorageSharedKeyCredential } from '@azure/storage-blob'; import { TokenCredential } from 'botbuilder-stdlib/lib/azureCoreHttpCompat'; /** * Optional settings for BlobsTranscriptStore */ export interface BlobsTranscriptStoreOptions { /** * [StoragePipelineOptions](xref:@azure/storage-blob.StoragePipelineOptions) to pass to azure blob * storage client */ storagePipelineOptions?: StoragePipelineOptions; /** * Optional setting to return a new string representing the decoded version of the given encoded blob transcript key. * This remains the default behavior to false, but can be overridden by setting decodeTranscriptKey to true. */ decodeTranscriptKey?: boolean; } /** * BlobsTranscriptStore is a [TranscriptStore](xref:botbuilder-core.TranscriptStore) that persists * transcripts in Azure Blob Storage * * @summary * Each activity is stored as JSON blob with a key of * `container/{channelId]/{conversationId}/{Timestamp.ticks}-{activity.id}.json`. */ export declare class BlobsTranscriptStore implements TranscriptStore { private readonly _containerClient; private readonly _concurrency; private _initializePromise?; private _isDecodeTranscriptKey?; /** * Constructs a BlobsTranscriptStore instance. * * @param {string} connectionString Azure Blob Storage connection string * @param {string} containerName Azure Blob Storage container name * @param {BlobsTranscriptStoreOptions} options Other options for BlobsTranscriptStore * @param {string} blobServiceUri A Uri referencing the blob container that includes the name of the account and the name of the container * @param {StorageSharedKeyCredential | AnonymousCredential | TokenCredential} tokenCredential The token credential to authenticate to the Azure storage */ constructor(connectionString: string, containerName: string, options?: BlobsTranscriptStoreOptions, blobServiceUri?: string, tokenCredential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential); private toJSON; private _initialize; /** * Get activities for a conversation (aka the transcript). * * @param {string} channelId channelId * @param {string} conversationId conversationId * @param {string} continuationToken continuation token to page through results * @param {Date} startDate earliest time to include in results * @returns {Promise>} Promise that resolves to a * [PagedResult](xref:botbuilder-core.PagedResult) of [Activity](xref:botbuilder-core.Activity) items */ getTranscriptActivities(channelId: string, conversationId: string, continuationToken?: string, startDate?: Date): Promise>; /** * List conversations in the channelId. * * @param {string} channelId channelId * @param {string} continuationToken continuation token to page through results * @returns {Promise>} Promise that resolves to a * [PagedResult](xref:botbuilder-core.PagedResult) of [Activity](xref:botbuilder-core.Activity) items */ listTranscripts(channelId: string, continuationToken?: string): Promise>; /** * Delete a specific conversation and all of its activities. * * @param {string} channelId channelId * @param {string} conversationId conversationId * @returns {Promise} A promise representing the async operation. */ deleteTranscript(channelId: string, conversationId: string): Promise; /** * Log an activity to the transcript. * * @param {Activity} activity activity to log * @param {BlobsTranscriptStoreOptions} options Optional settings for BlobsTranscriptStore * @returns {Promise} A promise representing the async operation. */ logActivity(activity: Activity, options?: BlobsTranscriptStoreOptions): Promise; } //# sourceMappingURL=blobsTranscriptStore.d.ts.map