import { Group } from './group';
import type { NetCDF4Module, DatasetOptions } from './types';
export declare class NetCDF4 extends Group {
    private filename?;
    private mode;
    private options;
    private module;
    private initialized;
    private ncid;
    private _isOpen;
    private memorySource?;
    constructor(filename?: string | undefined, mode?: string, options?: DatasetOptions);
    initialize(): Promise<void>;
    static Dataset(filename: string, mode?: string, options?: DatasetOptions): Promise<NetCDF4>;
    static fromBlob(blob: Blob, mode?: string, options?: DatasetOptions): Promise<NetCDF4>;
    static fromArrayBuffer(buffer: ArrayBuffer, mode?: string, options?: DatasetOptions): Promise<NetCDF4>;
    static fromMemory(data: Uint8Array | ArrayBuffer, mode?: string, options?: DatasetOptions, filename?: string): Promise<NetCDF4>;
    private open;
    get file_format(): string;
    get disk_format(): string;
    get filepath(): string;
    get isopen(): boolean;
    isInitialized(): boolean;
    getModule(): NetCDF4Module;
    close(): Promise<void>;
    sync(): Promise<void>;
    __aenter__(): Promise<NetCDF4>;
    __aexit__(): Promise<void>;
    openFile(path: string, mode?: 'r' | 'w' | 'a'): Promise<number>;
    createFile(path: string, mode?: number): Promise<number>;
    closeFile(ncid: number): Promise<void>;
    defineDimension(ncid: number, name: string, size: number): Promise<number>;
    defineVariable(ncid: number, name: string, type: number, dimids: number[]): Promise<number>;
    endDefineMode(ncid: number): Promise<void>;
    putVariableDouble(ncid: number, varid: number, data: Float64Array): Promise<void>;
    getVariableDouble(ncid: number, varid: number, size: number): Promise<Float64Array>;
    private createMockModule;
    private mountMemoryData;
    toArrayBuffer(): Promise<ArrayBuffer>;
    toBlob(type?: string): Promise<Blob>;
    toString(): string;
}
//# sourceMappingURL=netcdf4.d.ts.map