/** @packageDocumentation
 * @module Base
 */
import type { HorizontalPanelSide, PanelSide, VerticalPanelSide } from "../widget-panels/PanelTypes.js";
import type { WidgetState } from "./WidgetState.js";
import type { StagePanelSizeSpec } from "../../stagepanels/StagePanelConfig.js";
/** @internal */
export interface PanelState {
    readonly collapseOffset: number;
    readonly collapsed: boolean;
    readonly maxSize: StagePanelSizeSpec;
    readonly minSize: number;
    readonly pinned: boolean;
    readonly resizable: boolean;
    readonly side: PanelSide;
    readonly size: number | undefined;
    readonly widgets: ReadonlyArray<WidgetState["id"]>;
    readonly maxWidgetCount: number;
    readonly splitterPercent: number | undefined;
}
/** @internal */
export interface HorizontalPanelState extends PanelState {
    readonly span: boolean;
    readonly side: HorizontalPanelSide;
}
/** @internal */
export interface VerticalPanelState extends PanelState {
    readonly side: VerticalPanelSide;
}
/** @internal */
export interface PanelsState {
    readonly bottom: HorizontalPanelState;
    readonly left: VerticalPanelState;
    readonly right: VerticalPanelState;
    readonly top: HorizontalPanelState;
}
/** @internal */
export declare function isHorizontalPanelState(state: PanelState): state is HorizontalPanelState;
/** @internal */
export declare function getWidgetPanelSectionId(side: PanelSide, panelSectionIndex: number): string;
//# sourceMappingURL=PanelState.d.ts.map