import { SkillConversationIdFactoryBase } from './skillConversationIdFactoryBase';
import { SkillConversationIdFactoryOptions } from './skillConversationIdFactoryOptions';
import { SkillConversationReference } from './skillConversationReference';
import { Storage } from '../storage';
/**
 * A SkillConversationIdFactory that stores and retrieves [ConversationReference](xref:botframework-schema:ConversationReference) instances.
 */
export declare class SkillConversationIdFactory extends SkillConversationIdFactoryBase {
    private readonly storage;
    /**
     * Creates a new instance of the SkillConversationIdFactory class.
     *
     * @param storage The storage for the [ConversationReference](xref:botframework-schema:ConversationReference) instances.
     */
    constructor(storage: Storage);
    /**
     * Creates a conversation ID for a skill conversation based on the caller's [ConversationReference](xref:botframework-schema:ConversationReference).
     *
     * @param options The [SkillConversationIdFactoryOptions](xref:botbuilder-core.SkillConversationIdFactoryOptions) to use.
     * @returns {Promise<string>} A unique conversation ID used to communicate with the skill.
     */
    createSkillConversationIdWithOptions(options: SkillConversationIdFactoryOptions): Promise<string>;
    /**
     * Gets the ConversationReference created using createSkillConversationId() for a skillConversationId.
     *
     * @param skillConversationId A skill conversationId created using createSkillConversationId().
     * @returns {Promise<SkillConversationReference>} The caller's ConversationReference for a skillConversationId. Null if not found.
     */
    getSkillConversationReference(skillConversationId: string): Promise<SkillConversationReference>;
    /**
     * Deletes the [SkillConversationReference](xref:botbuilder-core.SkillConversationReference) from the storage.
     *
     * @param skillConversationId The skill conversation id to use as key for the delete.
     * @returns {Promise<void>} A promise representing the asynchronous operation.
     */
    deleteConversationReference(skillConversationId: string): Promise<void>;
}
//# sourceMappingURL=skillConversationIdFactory.d.ts.map