import { InfluxDB, QueryApi, WriteApi, Point, ClientOptions, WritePrecisionType } from '@influxdata/influxdb-client'; export { InfluxDB, Point, QueryApi, WriteApi, WritePrecisionType } from '@influxdata/influxdb-client'; declare class Client { readonly influx: InfluxDB; readonly queryApi?: QueryApi; readonly writeApi?: WriteApi; messageCount: number; private readonly injectedTags; constructor(options: Client.Options); /** * Adds a tag that will be injected in all points. * @param name The name of the tag to inject. * @param value The value of the tag to inject. */ addInjectTag(name: string, value: string): void; /** * Writes a point into the write buffer. * @param point The point to write. * @returns Whether or not the point was successfully written. */ writePoint(point: Point): boolean; /** * Writes multiple points into the write buffer. * @param points The points to write. * @returns Whether or not the points were successfully written. */ writePoints(points: readonly Point[]): boolean; /** * Flushes the pending writes to the server. * @param withRetryBuffer Whether or not it should flush the scheduled retries * @returns Whether or not the operation was successful. */ flush(withRetryBuffer?: boolean): Promise; private inject; } declare namespace Client { interface Options extends Partial { org?: string; writeBucket?: string; writePrecision?: WritePrecisionType; } } interface Env { INFLUX_OPTIONS_STRING?: string; INFLUX_URL?: string; INFLUX_HEADERS?: string; INFLUX_PROXY_URL?: string; INFLUX_TIMEOUT?: `${number}`; INFLUX_TOKEN?: string; INFLUX_ORG?: string; INFLUX_WRITE_BUCKET?: string; INFLUX_WRITE_PRECISION?: WritePrecisionType; } interface InfluxOptions extends Client.Options { loadDefaultListeners?: boolean; } declare module 'discord.js' { interface ClientOptions { analytics?: InfluxOptions; } } declare module '@sapphire/framework' { interface SapphireClient { analytics: Client | null; } } declare global { namespace NodeJS { interface ProcessEnv extends Env { } } } export { Client, type InfluxOptions };