import { EventEmitter } from '../../stencil-public-runtime'; import type { ChromeTransitionDetail } from '../../shell/chrome-transition'; import { type PanelToolsHeaders, type PanelToolsItem, type PanelToolsToolId } from './panel-tools-types'; export declare class PanelTools { el: HTMLElement; /** When false, only the icon rail is shown. */ open: boolean; /** Drawer presentation or viewport-covering presentation for the active tool. */ presentation: 'drawer' | 'fullscreen'; /** Let a fullscreen product supply independent master/detail headers inside its view. */ fullscreenHeaderMode: 'shared' | 'split'; /** Active tool view — `search`, `agents`, `messages`, `stacks`, `activity`, or `help`. */ activeTool: PanelToolsToolId | ''; /** * Rail items rendered in the right column. * Set via JS property: `el.items = [...]`. Replace the array reference to update. */ items: PanelToolsItem[]; toolsLabel: string; toolShortcutsLabel: string; /** Active header state per tool. Replace the object when title, depth, or actions change. */ headers: PanelToolsHeaders; /** * Optional localStorage key for the last active tool. The drawer always starts * closed; only the tool identity is restored for continuity within this browser. */ storageKey: string; /** Emitted when a rail button is toggled. Detail = { id, selected }. */ dsToolChange: EventEmitter<{ id: PanelToolsToolId; selected: boolean; }>; /** Emitted when fullscreen changes, including Escape-initiated exits. */ dsPresentationChange: EventEmitter<{ presentation: 'drawer' | 'fullscreen'; }>; /** Requests navigation to the active tool's parent view. */ dsHeaderBack: EventEmitter<{ tool: PanelToolsToolId; }>; /** Requests one application-owned action from the active tool header. */ dsHeaderAction: EventEmitter<{ tool: PanelToolsToolId; id: string; }>; /** Bubbling lifecycle — `ds-bar-nav` defers overflow checks during drawer motion. */ dsChromeTransitionStart: EventEmitter; dsChromeTransitionEnd: EventEmitter; /** Arms open vs close easing for the in-flight width transition. */ private motion; /** Keeps header and slotted content painted until the closing clip transition completes. */ private drawerSurfaceRetained; /** Suppresses width transition until the host has painted its initial open state. */ private readyForMotion; /** Fullscreen presentation changes snap without borrowing drawer width motion. */ private presentationMotionSuppressed; private rovingIndex; private fullViewToolIds; private railBodyScrollable; private motionEnableGeneration; private presentationMotionGeneration; private transitionGeneration; private transitionFallbackTimer; /** Ignores the old transition's terminal event when reversing direction. */ private ignoreReplacementTerminal; private focusBeforeFullscreen; private fullViewObserver; private railBodyEl?; private railBodyObserver?; private get railItems(); private get orderedRailItems(); disconnectedCallback(): void; presentationChanged(next: 'drawer' | 'fullscreen', previous?: 'drawer' | 'fullscreen'): void; handleFullscreenEscape(event: KeyboardEvent): void; private deferMotionEnable; connectedCallback(): void; private handleComposedHeaderAction; componentWillLoad(): void; openChanged(isOpen: boolean, wasOpen?: boolean): void; activeToolChanged(): void; storageKeyChanged(): void; componentDidLoad(): void; componentDidRender(): void; private connectRailBodyObserver; private disconnectRailBodyObserver; private updateRailBodyScrollable; itemsChanged(): void; private restoreLastActiveTool; private persistLastActiveTool; private clearPersistedTool; private reconcileActiveTool; private startDrawerTransition; private handleTransitionEnd; private drawerTransitionAtTerminal; private finishDrawerTransition; private clearTransitionCompletion; /** Rail selection follows `open` immediately — independent of the slide animation. */ private isRailSelected; /** Drawer body stays mounted while the clip frame animates closed. */ private isDrawerPresent; private isViewActive; private hasFullView; private syncFullViewTools; private get renderRoot(); private headerLabel; private resolvedHeaders; private activeHeader; private handleToolChange; /** Toggle any rail tool open/closed — shell shortcuts K/A/S/M/N call this. */ activateTool(id: PanelToolsToolId): Promise; /** Close the tools drawer when open — used by shell keyboard shortcuts. */ closeDrawer(): Promise; /** Focus an active tool-header action by its application-owned id. */ focusHeaderAction(id: string): Promise; private focusRailAt; private handleRailKeyDown; private renderRailAction; render(): any; } //# sourceMappingURL=PanelTools.d.ts.map