import { InfluxDB, WriteApi, QueryApi, FluxTableMetaData, Point } from "@influxdata/influxdb-client";
import { HotDB, HotDBType } from "../HotDB";
import { HotDBConnectionInterface } from "../HotDBConnectionInterface";
import { InfluxSchema } from "./influx/InfluxSchema";
/**
 * The Influx database connection.
 */
export declare class HotDBInflux extends HotDB<InfluxDB, void, InfluxSchema> {
    /**
     * The Influx write api.
     */
    writeApi: WriteApi;
    /**
     * The Influx query api.
     */
    queryApi: QueryApi;
    constructor(db?: InfluxDB, type?: HotDBType, schema?: InfluxSchema);
    /**
     * Connect to the database.
     */
    connect(connectionInfo: HotDBConnectionInterface): Promise<any[]>;
    multiQuery: undefined;
    queryOne: undefined;
    syncTable: undefined;
    tableCheck: undefined;
    /**
     * Checks to see if this has a database connection.
     */
    protected dbCheck(): void;
    /**
     * Write to the database. This will only store the point. It will not send to the database
     * unless sendPoints is called.
     */
    addPoint(point: Point): void;
    /**
     * Write to the database. This will only store the points. It will not send to the database
     * unless sendPoints is called.
     */
    addPoints(points: Point[]): void;
    /**
     * Writes all stored points to the database.
     */
    sendPoints(): Promise<void>;
    /**
     * Write to the database. This will call close and send the point immediately to the database.
     * Do not use this to send lots of data. If you're sending batches of data, be sure to use
     * writePoints.
     */
    write(point: Point): Promise<void>;
    /**
     * Write points to the database. This will call close and send the point immediately to the database.
     */
    writePoints(points: Point[]): Promise<void>;
    /**
     * The query to make.
     */
    query(queryString: string, values?: any[], nextFunc?: (row: string[], tableMeta: FluxTableMetaData) => void, errorFunc?: (error: Error) => void): Promise<void>;
    /**
     * Disconnect from the server.
     */
    disconnect(): Promise<void>;
}
//# sourceMappingURL=HotDBInflux.d.ts.map