import type { VisaInstrument } from 'ni-visa';
export interface RigolDho800Timebase {
    scale: number;
    offset: number;
}
export interface RigolDho800Channel {
    probeRatio: number;
    verticalScale: number;
    offset: number;
    coupling: 'DC' | 'AC';
    display: boolean;
}
export interface RigolDho800TriggerEdge {
    source: 'CHAN1' | 'CHAN2' | 'CHAN3' | 'CHAN4';
    level: number;
    slope: 'POS' | 'NEG' | 'RFAL';
}
export interface RigolDho800WaveformParameters {
    format: number;
    type: number;
    points: number;
    count: number;
    xincrement: number;
    xorigin: number;
    xreference: number;
    yincrement: number;
    yorigin: number;
    yreference: number;
}
export interface RigolDho800WaveformOptions {
    convertToVoltage: boolean;
    bufferSize: number;
}
export interface RigolDho800Waveform {
    samples: number[];
    params: RigolDho800WaveformParameters;
}
export declare class RigolDho800 {
    private instr;
    constructor(instr: VisaInstrument);
    reset(): void;
    configureTimebase(config?: Partial<RigolDho800Timebase>): void;
    configureChannel(ch: number, config?: Partial<RigolDho800Channel>): void;
    configureMemoryDepth(depth: string): void;
    configureEdgeTrigger(config: RigolDho800TriggerEdge): void;
    singleTrigger(): void;
    stop(): void;
    run(): void;
    waitTigger(timeout?: number): Promise<boolean>;
    readWaveform(ch: number, opts?: Partial<RigolDho800WaveformOptions>): RigolDho800Waveform;
    queryWaveformParameters(): RigolDho800WaveformParameters;
    createWaveformXLabels(params: RigolDho800WaveformParameters, inMs?: boolean): number[];
    wait(): void;
}
