/// <reference types="node" />
import EventEmitter from "events";
import { ConsolidationFunction, RrdtoolData, RrdtoolDatapoint, RrdToolFetchOptions, RrdToolUpdateOptions } from "./types";
declare type Callback = (err?: Error | null) => void;
export declare class RrdtoolDatabase<D extends RrdtoolData> extends EventEmitter {
    readonly filename: string;
    private info;
    private queue;
    private readonly cb;
    constructor(filename: string, cb?: Callback);
    private _load;
    private _addToQueue;
    private _callback;
    private _worker;
    dump(): Promise<string>;
    fetch(cf: ConsolidationFunction, options?: RrdToolFetchOptions): Promise<RrdtoolDatapoint<D>[]>;
    update(values: Partial<D>, options?: RrdToolUpdateOptions): Promise<void>;
}
export {};
