export interface FieldLayoutItem { fieldId: string; x: number; y: number; w: number; h: number; } export interface PageLayoutConfig { fields: FieldLayoutItem[]; } export interface PageLayout { id: string; name: string; objectId: string; isDefault: boolean; layoutConfig: PageLayoutConfig; description?: string; createdAt?: string; updatedAt?: string; } export interface CreatePageLayoutRequest { name: string; objectId: string; isDefault?: boolean; layoutConfig: PageLayoutConfig; description?: string; } export interface UpdatePageLayoutRequest { name?: string; isDefault?: boolean; layoutConfig?: PageLayoutConfig; description?: string; } export interface GridStackOptions { column: number; cellHeight: number; minRow: number; float: boolean; acceptWidgets: boolean | string; removable?: boolean | string; animate: boolean; } export interface GridStackWidget { id: string; x: number; y: number; w: number; h: number; minW?: number; maxW?: number; noResize?: boolean; noMove?: boolean; locked?: boolean; content?: string; }