import type { BreakpointId, Container, Layout, Padding } from '../../../core'; import type { Alignment } from '../../../core/schema-types/types'; import type { CSSPosition } from '../../../inputs/types'; export declare type GridContainerMutationMapping = { addSlot(contentTypeId: string): void; deleteSlot(slotId: string): void; changeSlotContentType(slotId: string, newContentType: string, parentPath: string[], textValue?: string): void; renameSlot(slotId: string, newName: string): void; setSlotVisible(slotId: string, visible: boolean, breakpointId: string, parentLayoutId: string): void; setSlotAlignment(slotId: string, alignment: Alignment, breakpointId: BreakpointId, parentLayoutId?: string): void; reorderSlot(slotId: string, newOrder: number): void; setSlotColumnSide(layoutId: string, slotId: string, side: keyof GridStartEndCoordinate, value: number): void; setSlotColumn(slotId: string, column: GridLayoutSlotData['column']): void; setSlotRow(slotId: string, row: GridLayoutSlotData['row']): void; duplicateActiveLayout(): void; setActiveLayout(layoutId: string, breakpointId: string): void; addLayoutSlotsToPOM(layoutId: string): void; deleteLayout(layoutId: string): void; setLayoutDisplayName(layoutId: string, newDisplayName: string): void; setLayoutGridColumnGap(layoutId: string, columnGap: number): void; setLayoutGridColumns(layoutId: string, columns: GridColumnOrRowTemplate): void; setLayoutGridRows(layoutId: string, rows?: GridColumnOrRowTemplate): void; setLayoutGridRowGap(layoutId: string, rowGap: number | undefined): void; setLayoutData(layoutId: string, data: Partial): void; setLayoutDescription(layoutId: string, description: string): void; deleteOption(optionId: string): void; setLayoutPadding(layoutId: string, side: CSSPosition, newValue: string): void; }; export declare const gridTrackScalarUnits: readonly ["fr", "%", "px", "ch", "ex", "em", "rem", "vh", "vw", "vmin", "vmax"]; export declare type GridTrackScalarUnit = typeof gridTrackScalarUnits[number]; export declare type GridTrackAuto = { type: 'auto'; }; export declare type GridTrackMinContent = { type: 'min-content'; }; export declare type GridTrackMaxContent = { type: 'max-content'; }; export declare type GridTrackScalar = { type: 'scalar'; unit: GridTrackScalarUnit; value: number; }; export declare type GridTrackMinMax = { type: 'minmax'; min: GridTrackDefinition; max: GridTrackDefinition; }; export declare type GridTrackRepeat = { type: 'repeat'; count: number; each: GridTrackDefinition; }; export declare type GridTrackDefinition = GridTrackAuto | GridTrackMinContent | GridTrackMaxContent | GridTrackScalar | GridTrackMinMax | GridTrackRepeat; export declare type GridTracks = GridTrackDefinition[]; export declare type GridColumnOrRowTemplate = { type: 'auto'; count: number; } | { type: 'tracks'; tracks: GridTrackDefinition[]; }; export declare type GridLayoutWrapperData = { columns: GridColumnOrRowTemplate; rows?: GridColumnOrRowTemplate; columnGap: number; rowGap?: number; padding: Padding; }; export declare type GridStartEndCoordinate = { start: number; end: number; }; export declare type GridLayoutSlotData = { column: GridStartEndCoordinate; row?: GridStartEndCoordinate; order: number; visible: boolean; padding: Padding; alignment: Alignment; }; export declare type GridLayout = Layout; export declare type GridContainer = Container<'grid', Layout>;