/**
 * @module botbuilder-m365
 */
/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License.
 */
import { TurnContext, Storage } from 'botbuilder';
import { TurnState, TurnStateEntry, TurnStateManager } from './TurnState';
export interface DefaultConversationState {
}
export interface DefaultUserState {
}
export interface DefaultTempState {
    /**
     * Input passed to an AI prompt
     */
    input: string;
    /**
     * Formatted conversation history for embedding in an AI prompt
     */
    history: string;
    /**
     * Output returned from an AI prompt or function
     */
    output: string;
}
/**
 * Types of Turn State held in MemoryStorage
 *
 * @module botbuilder-m365
 */
export interface DefaultTurnState<TConversationState extends DefaultConversationState = DefaultConversationState, TUserState extends DefaultUserState = DefaultUserState, TTempState extends DefaultTempState = DefaultTempState> extends TurnState {
    conversation: TurnStateEntry<TConversationState>;
    user: TurnStateEntry<TUserState>;
    temp: TurnStateEntry<TTempState>;
}
export declare class DefaultTurnStateManager<TConversationState extends DefaultConversationState = DefaultConversationState, TUserState extends DefaultUserState = DefaultUserState, TTempState extends DefaultTempState = DefaultTempState> implements TurnStateManager<DefaultTurnState<TConversationState, TUserState, TTempState>> {
    loadState(storage: Storage, context: TurnContext): Promise<DefaultTurnState<TConversationState, TUserState, TTempState>>;
    saveState(storage: Storage, context: TurnContext, state: DefaultTurnState<TConversationState, TUserState, TTempState>): Promise<void>;
}
//# sourceMappingURL=DefaultTurnStateManager.d.ts.map