import { type HTMLAttributes, type ReactNode, type RefObject } from 'react'; export type PanelSubviewHostProps = HTMLAttributes; export interface PanelSubviewProps extends Omit, 'title'> { /** Whether the subview is showing. It animates in and out around this. */ open: boolean; /** Fires from the back button and from Escape. Set `open` false in reply. */ onBack: () => void; /** The subview's heading. Already translated upstream. */ title: ReactNode; /** Accessible name and tooltip of the back button. Already translated. */ backLabel: string; /** Optional leading glyph for the heading. */ icon?: ReactNode; /** Heading level. Default `2`; pass `3` to read as subordinate to the host. */ headingLevel?: 2 | 3; /** Extra header actions, rendered after the back button. */ headerActions?: ReactNode; /** Pinned below the scroll body: the form's cancel and save, typically. */ footer?: ReactNode; /** How `footer`'s row is justified. `'end'` (default) keeps the single * trailing cluster every other subview uses; `'between'` splits the * row — render `footer` as two children (a leading destructive action, * a trailing Cancel/Save cluster) and the container puts one at each * end, the same shape as the appointment editor's ACTION FOOTER. */ footerAlign?: 'end' | 'between'; /** Fires once the exit has played and the subview has unmounted. */ onExited?: () => void; /** * Focus this on open instead of the subview itself: a form's first field, * say. The subview is still announced through its heading. */ initialFocusRef?: RefObject; children: ReactNode; } export declare const PanelSubview: import("react").ForwardRefExoticComponent> & { Host: import("react").ForwardRefExoticComponent>; }; //# sourceMappingURL=panel-subview.d.ts.map