export declare const SURFACE_VIEWPORT_PADDING = 8;
export declare const SURFACE_MIN_WIDTH = 240;
export declare const SURFACE_MIN_HEIGHT = 120;
export type SurfaceGeometry = {
    x: number;
    y: number;
    width: number;
    height: number | null;
    isUserModified: boolean;
    hasUserResized: boolean;
};
export type SurfaceViewport = {
    width: number;
    height: number;
};
export type SurfaceRect = {
    x: number;
    y: number;
    width: number;
    height: number;
};
export type ClampSurfaceGeometryOptions = {
    measuredHeight?: number;
    intersectionBoundary?: SurfaceRect | null;
};
export declare function getMaxSurfaceWidth(viewport: SurfaceViewport, x: number): number;
export declare function getMaxSurfaceHeight(viewport: SurfaceViewport, y: number): number;
export declare function hasStrictRectIntersection(rect: SurfaceRect, boundary: SurfaceRect): boolean;
export declare function clampSurfaceGeometry(geometry: SurfaceGeometry, viewport: SurfaceViewport, options?: ClampSurfaceGeometryOptions): SurfaceGeometry;
export declare function clampActiveResizeSurfaceGeometry(geometry: SurfaceGeometry, viewport: SurfaceViewport): SurfaceGeometry;
export declare function restoreSurfaceGeometryIntersection(geometry: SurfaceGeometry, viewport: SurfaceViewport, options?: ClampSurfaceGeometryOptions): SurfaceGeometry;
