export declare const VisaAccessMode: {
    VI_NO_LOCK: number;
    VI_EXCLUSIVE_LOCK: number;
    VI_SHARED_LOCK: number;
    VI_LOAD_CONFIG: number;
};
export declare class VisaResourceManager {
    private visa;
    private session;
    constructor(visaOrLib?: Visa | string);
    listResources(query?: string): string[];
    open(resourceName: string, timeout?: number): VisaInstrument;
    close(): void;
}
export declare class VisaInstrument {
    private visa;
    private session;
    constructor(visa: Visa, session: number);
    query(command: string, bufferSize?: number): string;
    queryBinary(command: string, bufferSize?: number): Buffer<ArrayBuffer>;
    write(data: Buffer | string): number;
    close(): void;
}
export declare class Visa {
    private visaLib;
    private viOpenDefaultRM;
    private viFindRsrc;
    private viFindNext;
    private viOpen;
    private viRead;
    private viWrite;
    private viClose;
    constructor(libraryPath?: string);
    private getDefaultLibrary;
    openDefaultRM(): number;
    listResources(session: number, query?: string): string[];
    open(session: number, resourceName: string, timeout?: number): VisaInstrument;
    read(session: number, buffer: Buffer): number;
    write(session: number, data: Buffer | string): number;
    query(session: number, command: string, bufferSize?: number): string;
    queryBinary(session: number, command: string, bufferSize?: number): Buffer<ArrayBuffer>;
    close(vi: number): void;
}
