export declare class LED {
    readonly WAVELENGTH: number;
    static readonly LED_385: LED;
    static readonly LED_470: LED;
    static readonly LED_567: LED;
    static readonly LED_625: LED;
    private constructor();
}
export declare const LEDs: LED[];
export declare class LEDSetting {
    readonly led: LED;
    private intensity;
    constructor(led: LED, intensity: number);
    setIntensity(intensity: number): void;
    getIntensity(): number;
}
export declare class Channel {
    readonly name: string;
    private readonly ledSettings;
    private exposureTime;
    constructor(name: string, first: LEDSetting, remaining: LEDSetting[], exposureTime: number);
    getLEDSetting(led: LED): LEDSetting | undefined;
    getExposureTime(): number;
    setExposureTime(exposureTime: number): void;
}
export declare class Lens {
    readonly magnification: number;
    readonly label: string;
    static readonly FIVE: Lens;
    static readonly TWENTY: Lens;
    private constructor();
    toString(): string;
}
export declare const LENSES: Lens[];
export declare class MagnificationChanger {
    readonly magnification: number;
    readonly label: string;
    static readonly ZERO_FIVE: MagnificationChanger;
    static readonly ONE_ZERO: MagnificationChanger;
    static readonly TWO_ZERO: MagnificationChanger;
    private constructor();
    toString(): string;
}
export declare const MAGNIFICATION_CHANGES: MagnificationChanger[];
export declare class Binning {
    readonly binning: number;
    readonly label: string;
    static readonly ONE: Binning;
    static readonly TWO: Binning;
    static readonly THREE: Binning;
    static readonly FOUR: Binning;
    static readonly FIVE: Binning;
    private constructor();
    toString(): string;
}
export declare class Tuple3D {
    readonly x: number;
    readonly y: number;
    readonly z: number;
    constructor(t: number[]);
    toString(): string;
}
export declare class Position {
    readonly name: string;
    readonly center: Tuple3D;
    readonly extent: Tuple3D;
    constructor(name: string, center: number[], extent: number[]);
    toString(): string;
}
export declare const ALL_CHANNELS: string;
export declare const ALL_POSITIONS: string;
export declare class Microscope {
    private readonly channels;
    private readonly positions;
    private lens;
    private magnificationChanger;
    private binning;
    private readonly incubation;
    onAcquire: (position: Position, channel: Channel) => void;
    reset(): void;
    setOnAcquire(func: (position: Position, channel: Channel) => void): void;
    addChannel(channel: Channel): void;
    getChannel(name: string): Channel | undefined;
    clearChannels(): void;
    addPosition(position: Position): void;
    getPosition(name: string): Position | undefined;
    clearPositions(): void;
    getTemperature(): number;
    setTemperature(temperature: number): void;
    getCO2Concentration(): number;
    setCO2Concentration(co2Concentration: number): void;
    getLens(): Lens;
    setLens(lens: Lens): void;
    getMagnificationChanger(): MagnificationChanger;
    setMagnificationChanger(mag: MagnificationChanger): void;
    setBinning(binning: Binning): void;
    acquire(positionNames: string[], channelNames: string[], dz: number): void;
    acquirePositionsAndChannels(positions: Position[], channels: Channel[], _dz: number): void;
    acquireSinglePositionAndChannel(position: Position, channel: Channel): void;
}
//# sourceMappingURL=Microscope.d.ts.map