import { type ReactNode } from "react"; export type WorkspaceTab = { id: string; label: ReactNode; /** Optional icon used by the compact activity rail. */ icon?: ReactNode | undefined; /** Accessible name when `label` is not plain text. */ ariaLabel?: string | undefined; /** Rendered as the active surface. */ content: ReactNode; /** A small badge after the label (e.g. dirty count, live pill). */ badge?: ReactNode | undefined; }; export type WorkspaceDockProps = { /** The chat / primary pane shown beside the dock. */ primary: ReactNode; tabs: WorkspaceTab[]; /** Controlled active tab. Falls back to the first tab. */ activeTab?: string | undefined; onActiveTabChange?: ((id: string) => void) | undefined; /** Controlled collapsed state for hosts that expose their own dock toggle. */ collapsed?: boolean | undefined; onCollapsedChange?: ((collapsed: boolean) => void) | undefined; /** Keep the panel-local Hide workspace control when the host controls collapsed state. */ showCollapseControl?: boolean | undefined; /** A status accessory pinned to the right of the workspace header, left of the * maximize/collapse controls (e.g. the machine-state chip). Renders in both * the docked header and the full-screen overlay header. */ headerAccessory?: ReactNode | undefined; /** Optional host navigation shown at the start of the phone overlay header. * It is intentionally absent from desktop dock chrome. */ mobileLeadingControl?: ReactNode | undefined; /** Persisted layout id (localStorage key) for react-resizable-panels. */ autoSaveId?: string | undefined; /** Default dock width as a percent of the session area. */ defaultSize?: number | undefined; minSize?: number | undefined; maxSize?: number | undefined; className?: string | undefined; }; export declare function WorkspaceDock({ primary, tabs, activeTab, onActiveTabChange, collapsed: collapsedProp, onCollapsedChange, showCollapseControl, headerAccessory, mobileLeadingControl, autoSaveId, defaultSize, minSize, maxSize, className, }: WorkspaceDockProps): import("react").JSX.Element;