import React from "react";
import { type AiAgentAttachment, type EasyEmailProAiAgentProps } from "./App";
import { type AiAgentHistory, type AiAgentHistoryChange, type AiAgentSnapshot } from "./useAiAgentSession";
import type { AiChatHandler } from "./client";
export type AiAgentPanelSnapshotOptions = {
    onCreate?: (snapshot: AiAgentSnapshot) => void | Promise<void>;
    onRestore?: (snapshotId: string) => AiAgentSnapshot | null | Promise<AiAgentSnapshot | null>;
};
export type AiAgentUploadResult = string | AiAgentAttachment;
export type AiAgentUploadHandler = (file: File) => Promise<AiAgentUploadResult>;
export type AiAgentPanelProps = {
    className?: string;
    disabled?: boolean;
    onChat: AiChatHandler;
    history?: AiAgentHistory;
    onHistoryChange?: (history: AiAgentHistory, change: AiAgentHistoryChange) => void;
    snapshots?: false | AiAgentPanelSnapshotOptions;
    initialMessages?: EasyEmailProAiAgentProps["messages"];
    onError?: (error: Error) => void;
    onUpload?: AiAgentUploadHandler;
    quickActions?: EasyEmailProAiAgentProps["quickActions"];
    placeholder?: string;
};
export declare function AiAgentPanel({ className, disabled, history, onHistoryChange, snapshots, initialMessages, onError, onUpload: uploadOverride, onChat, quickActions, placeholder, }: AiAgentPanelProps): React.JSX.Element;
