import type { PHDocument } from "document-model";
import { type ComponentPropsWithoutRef } from "react";
export type DocumentToolbarControl = "undo" | "redo" | "export" | "history" | "timeline";
type DocumentToolbarBaseProps = ComponentPropsWithoutRef<"div"> & {
    /**
     * Additional CSS class names to apply to the toolbar container.
     */
    className?: string;
    /**
     * Array of controls to show in the toolbar.
     * @default ["undo", "redo", "export", "switchboard", "history", "timeline"]
     */
    enabledControls?: DocumentToolbarControl[];
    /**
     * Disables the revision history button when set to true.
     * @default false
     */
    disableRevisionHistory?: boolean;
    /**
     * Callback function triggered when the switchboard link button is clicked.
     * If not provided, will use the default behavior of opening the document in switchboard.
     * The button will only be shown for documents in remote drives.
     */
    onSwitchboardLinkClick?: () => void;
    /**
     * Custom export handler for the document.
     * If not provided, will use the default export functionality.
     */
    onExport?: (document: PHDocument) => void;
    /**
     * Controls whether the timeline is visible when the component first renders.
     * @default false
     */
    initialTimelineVisible?: boolean;
    /**
     * Controls whether the timeline toggle button is shown in the toolbar.
     * @default true
     */
    defaultTimelineVisible?: boolean;
};
export type DocumentToolbarProps = DocumentToolbarBaseProps & ({
    /**
     * The document object to display in the toolbar.
     * When provided, the onClose callback becomes required.
     */
    document: PHDocument;
    /**
     * Callback function triggered when the close button is clicked.
     * Required when a document is provided.
     */
    onClose: () => void;
} | {
    /**
     * The document object to display in the toolbar.
     * When undefined, will fall back to the currently selected document.
     */
    document?: undefined;
    /**
     * Callback function triggered when the close button is clicked.
     * Optional when no document is provided - defaults to navigating back to the parent folder.
     */
    onClose?: () => void;
});
export declare const DocumentToolbar: React.FC<DocumentToolbarProps>;
export {};
//# sourceMappingURL=document-toolbar.d.ts.map