import { SplitAreaDirective } from "./directive/splitArea.directive"; export interface IPoint { x: number; y: number; } export interface IArea { component: SplitAreaDirective; order: number; size: number | null; minSize: number | null; maxSize: number | null; } export interface ISplitSnapshot { gutterNum: number; allAreasSizePixel: number; allInvolvedAreasSizePercent: number; lastSteppedOffset: number; areasBeforeGutter: Array; areasAfterGutter: Array; } export interface IAreaSnapshot { area: IArea; sizePixelAtStart: number; sizePercentAtStart: number; } export interface ISplitSideAbsorptionCapacity { remain: number; list: Array; } export interface IAreaAbsorptionCapacity { areaSnapshot: IAreaSnapshot; pixelAbsorb: number; percentAfterAbsorption: number; pixelRemain: number; } export interface IOutputData { gutterNum: number; sizes: IOutputAreaSizes; } export interface IOutputAreaSizes extends Array { }