import { IPoint } from "../../../idl";
import { AffineMatrix } from "../../../math";
export interface StraightLine {
    start: IPoint;
    end: IPoint;
}
export interface LinePointAlignResultInfo {
    horizon?: AlignResult;
    vertical?: AlignResult;
}
export interface AlignResultInfo {
    top?: AlignResult;
    bottom?: AlignResult;
    horizonMid?: AlignResult;
    left?: AlignResult;
    verticalMid?: AlignResult;
    right?: AlignResult;
    [key: string]: AlignResult | undefined;
}
export interface AlignResult {
    dx: number;
    dy: number;
    lines: StraightLine[];
}
export interface CacheAlignRes {
    dx: number;
    dy: number;
    line: StraightLine;
}
export interface StretchAlignLine {
    line: StraightLine;
    transform: AffineMatrix;
}
export interface StretchAlignRes {
    sideSize: number;
    dt: number;
    info: StretchAlignLine;
}
export interface AlignStretchResult {
    dt: number;
    sideSize: number;
    lines: StretchAlignLine[];
}
export interface AlignStretchResultInfo {
    width?: AlignStretchResult;
    height?: AlignStretchResult;
    horizon?: AlignResult;
    vertical?: AlignResult;
}
export declare enum StretchAlignType {
    width = 0,
    height = 1,
    both = 2
}
//# sourceMappingURL=AlignResult.d.ts.map