import { DockviewEvent, Emitter, Event } from '../events'; import { CompositeDisposable } from '../lifecycle'; import { IPanel, Parameters } from '../panel/types'; export interface FocusEvent { readonly isFocused: boolean; } export interface PanelDimensionChangeEvent { readonly width: number; readonly height: number; } export interface VisibilityEvent { readonly isVisible: boolean; } export interface ActiveEvent { readonly isActive: boolean; } export interface PanelApi { readonly onDidDimensionsChange: Event; readonly onDidFocusChange: Event; readonly onDidVisibilityChange: Event; readonly onDidActiveChange: Event; readonly onDidParametersChange: Event; setActive(): void; setVisible(isVisible: boolean): void; updateParameters(parameters: Parameters): void; /** * The id of the component renderer */ readonly component: string; /** * The id of the panel that would have been assigned when the panel was created */ readonly id: string; /** * Whether the panel holds the current focus */ readonly isFocused: boolean; /** * Whether the panel is the actively selected panel */ readonly isActive: boolean; /** * Whether the panel is visible */ readonly isVisible: boolean; /** * The panel width in pixels */ readonly width: number; /** * The panel height in pixels */ readonly height: number; readonly onWillFocus: Event; getParameters(): T; } export declare class WillFocusEvent extends DockviewEvent { constructor(); } /** * A core api implementation that should be used across all panel-like objects */ export declare class PanelApiImpl extends CompositeDisposable implements PanelApi { readonly id: string; readonly component: string; private _isFocused; private _isActive; private _isVisible; private _width; private _height; private _parameters; private readonly panelUpdatesDisposable; readonly _onDidDimensionChange: Emitter; readonly onDidDimensionsChange: Event; readonly _onDidChangeFocus: Emitter; readonly onDidFocusChange: Event; readonly _onWillFocus: Emitter; readonly onWillFocus: Event; readonly _onDidVisibilityChange: Emitter; readonly onDidVisibilityChange: Event; readonly _onWillVisibilityChange: Emitter; readonly onWillVisibilityChange: Event; readonly _onDidActiveChange: Emitter; readonly onDidActiveChange: Event; readonly _onActiveChange: Emitter; readonly onActiveChange: Event; readonly _onDidParametersChange: Emitter; readonly onDidParametersChange: Event; get isFocused(): boolean; get isActive(): boolean; get isVisible(): boolean; get width(): number; get height(): number; constructor(id: string, component: string); getParameters(): T; initialize(panel: IPanel): void; setVisible(isVisible: boolean): void; setActive(): void; updateParameters(parameters: Parameters): void; }