import * as React from 'react';
import type { DialogItem } from './types/component.types';
export interface RenameChatModalProps {
    isOpen: boolean;
    /** Current chat name, used to seed the input each time the modal opens. */
    initialName?: string;
    onClose: () => void;
    /** Fired with the trimmed new name when Save is pressed. */
    onSave: (name: string) => void;
}
/** Rename Chat modal — Figma node `7592:225962`. */
export declare function RenameChatModal({ isOpen, initialName, onClose, onSave, }: RenameChatModalProps): React.JSX.Element;
export interface ArchiveChatModalProps {
    isOpen: boolean;
    onClose: () => void;
    /** Fired when the destructive "Archive Chat" button is pressed. */
    onConfirm: () => void;
}
/** Archive Chat confirmation modal — Figma node `7592:226181`. */
export declare function ArchiveChatModal({ isOpen, onClose, onConfirm, }: ArchiveChatModalProps): React.JSX.Element;
export interface UnarchiveChatModalProps {
    isOpen: boolean;
    onClose: () => void;
    /** Fired when the "Unarchive Chat" button is pressed. */
    onConfirm: () => void;
}
/** Unarchive (restore) Chat confirmation modal — restores an archived chat
 *  back to the current chats so the user can continue it. */
export declare function UnarchiveChatModal({ isOpen, onClose, onConfirm, }: UnarchiveChatModalProps): React.JSX.Element;
export interface ChatDialogModalsProps {
    /** Dialog pending rename (`null` = closed). */
    renameTarget: DialogItem | null;
    setRenameTarget: (dialog: DialogItem | null) => void;
    onConfirmRename: (name: string) => void;
    /** Dialog pending archive (`null` = closed). */
    archiveTarget: DialogItem | null;
    setArchiveTarget: (dialog: DialogItem | null) => void;
    onConfirmArchive: () => void;
    /** Dialog pending restore/unarchive (`null` = closed). */
    restoreTarget: DialogItem | null;
    setRestoreTarget: (dialog: DialogItem | null) => void;
    onConfirmRestore: () => void;
}
/**
 * Renders the Rename / Archive / Unarchive modals together, each driven by its
 * target dialog. Pair with `useChatDialogManager`, which produces exactly this
 * prop shape.
 */
export declare function ChatDialogModals({ renameTarget, setRenameTarget, onConfirmRename, archiveTarget, setArchiveTarget, onConfirmArchive, restoreTarget, setRestoreTarget, onConfirmRestore, }: ChatDialogModalsProps): React.JSX.Element;
//# sourceMappingURL=mingo-chat-modals.d.ts.map