import { type ScaleBand, type ScaleQuantile } from 'd3-scale';
import type { WaferMap } from '..';
import type { Dimensions, Margin } from '../workers/types';
/**
 * Computations calculates and stores different measures which are used in the Wafermap
 */
export declare class Computations {
    private readonly wafermap;
    get containerDimensions(): Dimensions;
    get dieDimensions(): Dimensions;
    get radius(): number;
    get margin(): Margin;
    get horizontalScale(): ScaleBand<number>;
    get verticalScale(): ScaleBand<number>;
    get invertedHorizontalScale(): ScaleQuantile<number, number>;
    get invertedVerticalScale(): ScaleQuantile<number, number>;
    private _containerDimensions;
    private _dieDimensions;
    private _radius;
    private _margin;
    private _horizontalScale;
    private _verticalScale;
    private _invertedHorizontalScale;
    private _invertedVerticalScale;
    private readonly defaultPadding;
    private readonly baseMarginPercentage;
    constructor(wafermap: WaferMap);
    updateContainerDimensions(): void;
    updateScales(): void;
    private gridDimensionsValidAndDefined;
    private calculateGridDimensionsFromBoundingBox;
    private calculateGridDimensionsFromDies;
    private calculateContainerDimensions;
    private createHorizontalScale;
    private createInvertedHorizontalScale;
    private createVerticalScale;
    private createInvertedVerticalScale;
    private calculateMarginAddition;
}
