import Gtk from "gi://Gtk"; import type { GjsContext } from "../../../reconciler/gjs-renderer"; import type { HostContext } from "../../../reconciler/host-context"; import { BaseElement, type GjsElement } from "../../gjs-element"; import { ElementLifecycleController } from "../../utils/element-extenders/element-lifecycle-controller"; import type { DiffedProps } from "../../utils/element-extenders/map-properties"; import { PropertyMapper } from "../../utils/element-extenders/map-properties"; import { SyntheticEmitter } from "../../utils/element-extenders/synthetic-emitter"; import type { TextNode } from "../text-node"; import { GridElement } from "./grid"; export interface GridItemProps { columnSpan?: number; rowSpan?: number; } export type GridItemEvents = { columnSpanChanged: [number]; rowSpanChanged: [number]; itemDestroyed: [GridItemElement]; itemUpdated: [GridItemElement]; }; export declare class GridItemElement extends BaseElement implements GjsElement<"GRID_ITEM"> { static getContext(currentContext: HostContext): HostContext; readonly kind = "GRID_ITEM"; protected emptyReplacement: Gtk.Box; protected childElement: GjsElement | null; protected get widget(): Gtk.Widget; protected parent: GridElement | null; protected readonly lifecycle: ElementLifecycleController; protected handlers: null; emitter: SyntheticEmitter; protected readonly propsMapper: PropertyMapper; constructor(props: DiffedProps); getSpans(): { colSpan: number; rowSpan: number; }; updateProps(props: DiffedProps): void; appendChild(child: GjsElement | TextNode): void; insertBefore(): void; remove(parent: GjsElement): void; render(): void; notifyWillMountTo(parent: GjsElement): boolean; notifyMounted(): void; notifyChildWillUnmount(): void; show(): void; hide(): void; getWidget(): Gtk.Widget; getParentElement(): GridElement | null; addEventListener(signal: string, callback: Rg.GjsElementEventListenerCallback): void; removeEventListener(signal: string, callback: Rg.GjsElementEventListenerCallback): void; }