import { MeasurementUnit } from '../../../connector-types/src'; import { ColorUsage } from './ColorStyleTypes'; import { Id, PrivateData, PropertyState } from './CommonTypes'; export { MeasurementUnit } from '../../../connector-types/src'; export type LayoutPropertiesType = { id: Id; name: string; displayName: string | null; width: PropertyState; height: PropertyState; animated: PropertyState; intent: PropertyState; unit: PropertyState; fillColor: PropertyState; fillColorEnabled: PropertyState; bleed: PropertyState; availableForUser: boolean; selectedByUser: boolean; timelineLengthMs: PropertyState; resizableByUser: ResizableLayoutProperties; } | null; export type FrameProperties = { id: Id; type: string; height: number | null; isVisible: boolean | null; rotationDegrees: number | null; scaleX: number | null; scaleY: number | null; width: number | null; x: number | null; y: number | null; }; export type LayoutWithFrameProperties = { id: Id; name: string; parentId?: Id; frameProperties: FrameProperties[]; width: number | null; height: number | null; childLayouts: Id[]; type: LayoutType; timelineLengthMs?: number; children?: LayoutWithFrameProperties[]; intent: LayoutIntent | null; }; export type Layout = { id: Id; name: string; displayName?: string | null; privateData: PrivateData; parentId?: Id; width: PropertyState; height: PropertyState; layoutWidth: PropertyState; layoutHeight: PropertyState; childLayouts: Id[]; timelineLengthMs: PropertyState; unit: PropertyState; intent: PropertyState; bleed: PropertyState; fillColor: PropertyState; fillColorEnabled: PropertyState; availableForUser: boolean; selectedByUser: boolean; resizableByUser: ResizableLayoutProperties; }; export type LayoutListItemType = { id: string; name: string; displayName?: string | null; type: LayoutType; availableForUser: boolean; selectedByUser: boolean; parentId?: Id | null; childLayouts: Id[]; }; export type LayoutBleed = { left: number; top: number; right: number; bottom: number; areBleedValuesCombined: boolean; }; export type BleedDeltaUpdate = { left?: string; top?: string; right?: string; bottom?: string; areBleedValuesCombined?: boolean; }; export type LayoutPreset = { name: string; intent: LayoutIntent; unit: MeasurementUnit; width: string; height: string; duration?: number; bleed?: BleedDeltaUpdate; }; export declare enum PositionEnum { top = "top", right = "right", bottom = "bottom", left = "left" } export declare enum LayoutType { top = "top", child = "child" } export declare enum LayoutIntent { print = "print", digitalStatic = "digitalStatic", digitalAnimated = "digitalAnimated" } export type ResizableLayoutProperties = { enabled: boolean; minWidth?: number | null; maxWidth?: number | null; minHeight?: number | null; maxHeight?: number | null; constraintMode?: ConstraintMode | null; aspectRange?: LayoutAspectRange | null; }; export type LayoutAspect = { horizontal: number; vertical: number; }; export type LayoutAspectRange = { min: LayoutAspect; max: LayoutAspect; }; export declare enum ConstraintMode { locked = "locked", range = "range", none = "none" } export type ResizableLayoutPropertiesUpdate = { enabled?: { value: boolean; } | null; minWidth?: { value: string | null; } | null; maxWidth?: { value: string | null; } | null; minHeight?: { value: string | null; } | null; maxHeight?: { value: string | null; } | null; constraintMode?: { value: ConstraintMode | null; } | null; aspectRange?: { value: LayoutAspectRange | null; } | null; }; export type SelectLayoutOptions = { pageSize?: LayoutOptionPageSize; }; export type LayoutOptionPageSize = { width: number; height: number; unit: MeasurementUnit; };