import type { ReactNode } from 'react'; export declare const PanelShortcutsProvider: import("react").Provider; /** True when panel letter shortcuts may fire (empty composer draft). */ export declare function usePanelShortcutsEnabled(): boolean; export interface MonitorSize { columns: number; rows: number; /** Width inside a full-width round border with one column of horizontal padding. */ contentWidth: number; /** Conservative row budget after the shared header/footer chrome. */ contentRows: number; } export declare function useMonitorSize(): MonitorSize; export declare function truncatePanelText(text: string, width: number): string; export declare function panelWindow(total: number, selected: number, limit: number): { start: number; end: number; above: number; below: number; }; export interface MonitorShellProps { accent: string; icon: string; title: string; /** Quiet context beside the title, hidden by callers on narrow terminals. */ kicker?: string | undefined; right?: ReactNode | undefined; footer?: ReactNode | undefined; children?: ReactNode | undefined; grow?: boolean | undefined; /** Clamp the shell's total height (including borders) to prevent overflow. */ maxHeight?: number | undefined; } /** Shared chrome for F-key monitors: one visual hierarchy and one geometry contract. */ export declare function MonitorShell({ accent, icon, title, kicker, right, footer, children, grow, maxHeight, }: MonitorShellProps): import("react").JSX.Element; export declare function SectionLabel({ children, color, }: { children: ReactNode; color?: string | undefined; }): import("react").JSX.Element; export declare function KeyCap({ keyName, label, color, }: { keyName: string; label: string; color?: string | undefined; }): import("react").JSX.Element; export declare function EmptyPanelState({ icon, title, detail, accent, }: { icon: string; title: string; detail?: ReactNode | undefined; accent?: string | undefined; }): import("react").JSX.Element; //# sourceMappingURL=monitor-shell.d.ts.map