import '../../globals.js';
/**
 * An object that contains a value for each item in an enumeration.
 *
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 */
import EnumerationMap from './EnumerationMap.js';
import Orientation from './Orientation.js';
declare class OrientationPair<T> extends EnumerationMap<Orientation, T> {
    /**
     * @param horizontal - Value for the horizontal orientation
     * @param vertical - Value for the vertical orientation
     */
    constructor(horizontal: T, vertical: T);
    get horizontal(): T;
    set horizontal(value: T);
    get vertical(): T;
    set vertical(value: T);
    with(orientation: Orientation, value: T): OrientationPair<T>;
    /**
     * Creates an orientation pair based on a factory method.
     *
     * @param factory - called once for each orientation to determine
     *                             the value.
     */
    static create<T>(factory: (o: Orientation) => T): OrientationPair<T>;
    /**
     * Returns a new EnumerationMap with mapped values.
     *
     * @param mapFunction - function( {*}, {TEnumeration.*} ): {*}
     * @returns With the mapped values
     */
    map(mapFunction: (value: T, orientation: Orientation) => T): OrientationPair<T>;
}
export default OrientationPair;
//# sourceMappingURL=OrientationPair.d.ts.map