///
import { EventEmitter } from "events";
export interface IHealthCheck {
isReady(): Promise;
}
export interface IMongoStoreConfig {
url: string;
db: string;
collection: string;
driver?: any;
retry?: {
secsWaitBetween: number;
secsAbortAfter: number;
};
}
export interface IRedisStoreConfig {
url: string;
password?: string;
tls?: boolean;
retry?: {
secsWaitBetween: number;
secsAbortAfter: number;
};
}
export interface IElasticStoreConfig {
url: string;
index: string;
type: string;
apiVersion?: string;
retry?: {
secsWaitBetween: number;
secsAbortAfter: number;
};
}
export declare type IStoreOptions = IMongoStoreConfig | IRedisStoreConfig | IElasticStoreConfig;
export declare enum HealthEvents {
Ready = "READY"
}
export interface IStore extends IHealthCheck, EventEmitter {
get(keys: string[]): Promise | any;
set(o: any): Promise | any;
remove(k: string): void;
removeAll(): void;
connect(): Promise;
disconnect(): Promise;
}
//# sourceMappingURL=interfaces.d.ts.map