import { PanelGroupId } from './panels'; /** * Panel Group Item Layout ID type. String identifier for items within a panel group. */ export type PanelGroupItemLayoutId = string; /** * Base layout properties for positioning and sizing items in a grid. * This is a framework-agnostic representation that can be used with various grid systems. */ export interface BaseLayout { /** * Item identifier */ i: string; /** * X position in grid units */ x: number; /** * Y position in grid units */ y: number; /** * Width in grid units */ w: number; /** * Height in grid units */ h: number; } /** * Layout information for an item within a panel group. * Extends BaseLayout with a typed identifier. */ export interface PanelGroupItemLayout extends BaseLayout { i: PanelGroupItemLayoutId; } /** * Uniquely identifies an item in a PanelGroup. */ export interface PanelGroupItemId { panelGroupId: PanelGroupId; panelGroupItemLayoutId: PanelGroupItemLayoutId; repeatVariable?: [string, string]; } /** * Definition of a panel group, containing layout and panel information. */ export interface PanelGroupDefinition { id: PanelGroupId; isCollapsed: boolean; title?: string; repeatedOriginId?: PanelGroupId; repeatVariable?: string; itemLayouts: PanelGroupItemLayout[]; itemPanelKeys: Record; } /** * Check if two PanelGroupItemId are equal */ export declare function isPanelGroupItemIdEqual(a?: PanelGroupItemId, b?: PanelGroupItemId): boolean; //# sourceMappingURL=panel-group.d.ts.map