import type { Location, Size, Region } from './utility-types';
export declare function location<TLocatable extends Location>(region: TLocatable): Location;
export declare function size<TSizable extends Size>(region: TSizable): Size;
export declare function region(location: Location, size: Size): {
    x: number;
    y: number;
    width: number;
    height: number;
};
export declare function isEmpty(size: Size): boolean;
export declare function isEmpty(region: Region): boolean;
export declare function round(region: Region): Region;
export declare function round(region: Size): Size;
export declare function round(region: Location): Location;
export declare function ceil(region: Region): Region;
export declare function ceil(region: Size): Size;
export declare function ceil(region: Location): Location;
export declare function floor(region: Region): Region;
export declare function floor(region: Size): Size;
export declare function floor(region: Location): Location;
export declare function rotate(size: Size, degrees: number): Size;
export declare function rotate(region: Region, degrees: number, size: Size): Region;
export declare function rotate(location: Location, degrees: number, size: Size): Size;
export declare function scale(region: Region, scaleRatio: number): Region;
export declare function scale(size: Size, scaleRatio: number): Size;
export declare function scale(location: Location, scaleRatio: number): Location;
export declare function offset(region: Region, offset: Location): Region;
export declare function offset(location: Location, offset: Location): Location;
export declare function offsetNegative(region: Region, offset: Location): Region;
export declare function offsetNegative(location: Location, offset: Location): Location;
export declare function intersect(region1: Region, region2: Region): Region;
export declare function isIntersected(region1: Region, region2: Region): boolean;
export declare function contains(region: Region, location: Location): boolean;
export declare function contains(region: Region, innerRegion: Region): boolean;
export declare function equals(region1: Region, region2: Region): boolean;
export declare function equals(location1: Location, location2: Location): boolean;
export declare function equals(size1: Size, size2: Size): boolean;
export declare function divide(region: Region, size: Size, padding?: {
    top?: number;
    bottom?: number;
}): Region[];
export declare function padding(region: Region, padding: number | {
    top?: number;
    right?: number;
    bottom?: number;
    left?: number;
}): Region;
