import type { ElementLifecycle } from "../../../element-extender"; import type { GjsElement } from "../../../gjs-element"; import { Dispatcher } from "../../../utils/dispatcher"; import type { GridItemElement } from "../grid-item"; export type ChildrenInfo = { element: GridItemElement; shouldOmit: boolean; columnSpan: number; rowSpan: number; }; type ItemEntry = { id: symbol; element: GridItemElement; shouldOmit: boolean; columnSpan: number; rowSpan: number; listeners: Array<{ remove: () => void; }>; dispatcher: Dispatcher; }; export declare class GridItemsList { protected lifecycle: ElementLifecycle; protected onChildChangeInterface: { onChildChange(params: ChildrenInfo): void; onChildAdded(params: ChildrenInfo): void; onChildRemoved(params: GridItemElement): void; }; protected items: Array; constructor(lifecycle: ElementLifecycle, onChildChangeInterface: { onChildChange(params: ChildrenInfo): void; onChildAdded(params: ChildrenInfo): void; onChildRemoved(params: GridItemElement): void; }); count(): number; get(index: number): ChildrenInfo; getAll(): ChildrenInfo[]; getIndexOf(child: GjsElement): number; add(child: GridItemElement, shouldOmitMount: boolean, atIndex?: number): void; protected cleanup(): void; } export {};