import * as Coords from './coordinate.js'; import { SpacegroupCell } from '../../../../mol-math/geometry.js'; export interface Box> { a: C; b: C; } export interface Cartesian extends Box { } export interface Fractional extends Box { } export interface Grid extends Box> { } export declare function cartesianToFractional(box: Cartesian, spacegroup: SpacegroupCell): Fractional; export declare function fractionalToGrid(box: Fractional, domain: Coords.GridDomain): Grid; export declare function gridToFractional(box: Grid): Fractional; export declare function fractionalBoxReorderAxes(box: Fractional, axisOrder: number[]): { a: Coords.Fractional; b: Coords.Fractional; }; export declare function expandGridBox(box: Grid, by: number): { a: Coords.Grid; b: Coords.Grid; }; export declare function shift, S extends Coords.Space>(box: Box, offset: C): Box; export declare function clampGridToSamples, K>(box: Box): Box; export declare function fractionalToDomain(box: Fractional, kind: K, delta: Coords.Fractional): Coords.GridDomain; export declare function fractionalFromBlock(block: Coords.Grid<'Block'>): Fractional; export declare function bounding>(xs: C[]): Box; export declare function areIntersecting, S extends Coords.Space>(box1: Box, box2: Box): boolean; export declare function intersect, S extends Coords.Space>(box1: Box, box2: Box): Box | undefined; export declare function dimensions, S extends Coords.Space>(box: Box): number[]; export declare function volume, S extends Coords.Space>(box: Box): number;