import type { DefaultChatMessageModel, IChatMessage } from '@difizen/magent-chat';
import { DefaultConversationModel } from '@difizen/magent-chat';
import { Fetcher } from '@difizen/magent-core';
import dayjs from 'dayjs';
import type { AUChatMessageModel } from '../au-chat-message/chat-message-model.js';
import type { AUChatMessageOption } from '../au-chat-message/protocol.js';
import type { SessionOption } from './protocol.js';
export declare class SessionModel extends DefaultConversationModel {
    fetcher: Fetcher;
    agentId: string;
    option: SessionOption;
    messages: AUChatMessageModel[];
    get gmtCreate(): dayjs.Dayjs;
    get gmtModified(): dayjs.Dayjs;
    constructor(option: SessionOption, fetcher: Fetcher);
    shouldInitFromMeta(option: SessionOption): boolean;
    fetchInfo: (option: SessionOption) => Promise<void>;
    protected fromMeta(option?: SessionOption): void;
    protected disposeMessage: (msg: DefaultChatMessageModel) => void;
    protected toChatMessageOption(msg: IChatMessage): AUChatMessageOption;
}
//# sourceMappingURL=session-model.d.ts.map