import { StorageMeasurementSchema, StoragePoint, StorageQueryOptions } from '../storage.types'; export interface StoragePlugin { readonly name: string; initialize(): Promise; destroy(): Promise; isAvailable(): boolean; writePoints(points: StoragePoint[]): Promise; query(query: string, options?: StorageQueryOptions): Promise; queryRaw(query: string, options?: StorageQueryOptions): Promise; registerSchema(schema: StorageMeasurementSchema): void; dropMeasurement(measurement: string): Promise; getMeasurements(): Promise; createDatabase?(...args: unknown[]): Promise; dropDatabase?(...args: unknown[]): Promise; getDatabaseNames?(): Promise; createRetentionPolicy?(...args: unknown[]): Promise; alterRetentionPolicy?(...args: unknown[]): Promise; showRetentionPolicies?(...args: unknown[]): Promise; dropRetentionPolicy?(...args: unknown[]): Promise; createContinuousQuery?(name: string, body: string, db?: string, resample?: string): Promise; showContinuousQueries?(...args: unknown[]): Promise; dropContinuousQuery?(...args: unknown[]): Promise; dropSeries?(...args: unknown[]): Promise; getSeries?(): Promise; ping?(): Promise; createUser?(...args: unknown[]): Promise; dropUser?(...args: unknown[]): Promise; getUsers?(): Promise>; setPassword?(...args: unknown[]): Promise; grantPrivilege?(...args: unknown[]): Promise; revokePrivilege?(...args: unknown[]): Promise; grantAdminPrivilege?(...args: unknown[]): Promise; revokeAdminPrivilege?(...args: unknown[]): Promise; writeMeasurement?(...args: unknown[]): Promise; }