/// <reference types="react" />
import { ChatView } from '@difizen/magent-chat';
import { Deferred } from '@difizen/mana-app';
import { ViewManager } from '@difizen/mana-app';
import { AgentManager } from '../../agent/agent-manager.js';
import type { AgentModel } from '../../agent/protocol.js';
import { RouterHistory } from '../../common/router.js';
import type { SessionModel } from '../../session/protocol.js';
import { PageView } from '../common/page-view.js';
import { SessionsView } from '../sessions/view.js';
import './index.less';
export declare const AgentChatSlot: string;
export declare class AgentChatView extends PageView {
    hideBrand: boolean;
    protected _agentId?: string;
    get agentId(): string | undefined;
    set agentId(v: string | undefined);
    agentManager: AgentManager;
    viewManager: ViewManager;
    history: RouterHistory;
    view: import("react").ForwardRefExoticComponent<import("react").RefAttributes<HTMLDivElement>>;
    agent?: AgentModel;
    sessions?: SessionsView;
    chat?: ChatView;
    initializing?: Promise<void>;
    defaultSessionCreating?: Promise<void>;
    ready: Promise<void>;
    protected readyDeferred: Deferred<void>;
    constructor();
    onViewUnmount(): void;
    goBack: () => void;
    pageTitle: () => import("react/jsx-runtime.js").JSX.Element;
    disposed?: boolean | undefined;
    protected reset: () => void;
    protected initAgent: () => AgentModel | undefined;
    protected initSessionView: () => Promise<void>;
    protected getAgentTitleName: (agent: AgentModel) => Promise<string | undefined>;
    protected updateTitle: (agent: AgentModel) => Promise<void>;
    protected initialize(): void;
    ensureInitialized: () => Promise<void>;
    onViewMount(): void;
    openChat: (session?: SessionModel) => Promise<void>;
}
//# sourceMappingURL=chat-view.d.ts.map