export declare class BoundsUnmodifiable {
    private bounds;
    constructor(bounds: Bounds);
    get iStart(): number;
    get jStart(): number;
    get iEnd(): number;
    get jEnd(): number;
    get i(): number;
    get j(): number;
    get w(): number;
    get h(): number;
    xFrac(i: number): number;
    yFrac(j: number): number;
    contains(i: number, j: number): boolean;
}
export declare class Bounds {
    private _iStart;
    private _jStart;
    private _iEnd;
    private _jEnd;
    private _unmod;
    constructor();
    get iStart(): number;
    get jStart(): number;
    get iEnd(): number;
    get jEnd(): number;
    get i(): number;
    get j(): number;
    get w(): number;
    get h(): number;
    get unmod(): BoundsUnmodifiable;
    xFrac(i: number): number;
    yFrac(j: number): number;
    contains(i: number, j: number): boolean;
    setEdges(iStart: number, iEnd: number, jStart: number, jEnd: number): void;
    setRect(i: number, j: number, w: number, h: number): void;
    setBounds(bounds: BoundsUnmodifiable): void;
    cropToEdges(iCropStart: number, iCropEnd: number, jCropStart: number, jCropEnd: number): void;
    cropToRect(iCrop: number, jCrop: number, wCrop: number, hCrop: number): void;
    cropToBounds(cropBounds: BoundsUnmodifiable): void;
}
export declare function newBoundsFromRect(i: number, j: number, w: number, h: number): Bounds;
export declare function newBoundsFromEdges(iStart: number, iEnd: number, jStart: number, jEnd: number): Bounds;
export interface Size {
    w: number;
    h: number;
}
