import '../../globals.js';
/**
 * Either horizontal or vertical, with helper values.  Moved from Area Model Common on Nov 7, 2019
 *
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 * @author Sam Reid (PhET Interactive Simulations)
 */
import Enumeration from './Enumeration.js';
import EnumerationValue from './EnumerationValue.js';
import Constructor from './types/Constructor.js';
import IntentionalAny from './types/IntentionalAny.js';
type MVT = {
    modelToViewX: (n: number) => number;
    modelToViewY: (n: number) => number;
    viewToModelX: (n: number) => number;
    viewToModelY: (n: number) => number;
};
declare class Orientation extends EnumerationValue {
    static readonly HORIZONTAL: Orientation;
    static readonly VERTICAL: Orientation;
    static readonly enumeration: Enumeration<Orientation>;
    static fromLayoutOrientation(layoutOrientation: 'horizontal' | 'vertical'): Orientation;
    readonly coordinate: 'x' | 'y';
    readonly centerCoordinate: 'centerX' | 'centerY';
    readonly minCoordinate: 'minX' | 'minY';
    readonly maxCoordinate: 'maxX' | 'maxY';
    readonly minSide: 'left' | 'top';
    readonly maxSide: 'right' | 'bottom';
    readonly minSize: 'minWidth' | 'minHeight';
    readonly maxSize: 'maxWidth' | 'maxHeight';
    readonly rectCoordinate: 'rectX' | 'rectY';
    readonly rectSize: 'rectWidth' | 'rectHeight';
    readonly flowBoxOrientation: 'horizontal' | 'vertical';
    readonly size: 'width' | 'height';
    readonly line: 'column' | 'row';
    readonly preferredSize: 'preferredWidth' | 'preferredHeight';
    readonly localPreferredSize: 'localPreferredWidth' | 'localPreferredHeight';
    readonly sizable: 'widthSizable' | 'heightSizable';
    readonly ariaOrientation: 'horizontal' | 'vertical';
    modelToView: (m: MVT, n: number) => number;
    viewToModel: (m: MVT, n: number) => number;
    toVector: <T>(n: number, m: number, VectorType: Constructor<T>) => T;
    opposite: Orientation;
    constructor(coordinate: 'x' | 'y', centerCoordinate: 'centerX' | 'centerY', minCoordinate: 'minX' | 'minY', maxCoordinate: 'maxX' | 'maxY', minSide: 'left' | 'top', maxSide: 'right' | 'bottom', minSize: 'minWidth' | 'minHeight', maxSize: 'maxWidth' | 'maxHeight', rectCoordinate: 'rectX' | 'rectY', rectSize: 'rectWidth' | 'rectHeight', flowBoxOrientation: 'horizontal' | 'vertical', size: 'width' | 'height', line: 'column' | 'row', preferredSize: 'preferredWidth' | 'preferredHeight', localPreferredSize: 'localPreferredWidth' | 'localPreferredHeight', sizable: 'widthSizable' | 'heightSizable', modelToView: (m: MVT, n: number) => number, viewToModel: (m: MVT, n: number) => number, toVector: <T>(n: number, m: number, VectorType: new (x: number, y: number, ...args: IntentionalAny[]) => T) => T);
}
export default Orientation;
//# sourceMappingURL=Orientation.d.ts.map