import { KeyValueStore, KeyValueStoreOptions } from "./types";
export declare const GLOBAL_STORE_NAME = "global";
export declare const GLOBAL_COUNT_NAME = "globalCount";
export interface KeyValueStoreConfig {
    getKeyValueStore?<T>(name: string, options?: KeyValueStoreOptions): KeyValueStoreWithCounter<T> | KeyValueStore<T>;
}
export interface KeyValueStoreWithCounter<T> extends KeyValueStore<T> {
    counters: {
        store: KeyValueStore<number>;
        global: KeyValueStore<number>;
    };
}
export declare function getKeyValueStore<T>(name: string, options: KeyValueStoreOptions & {
    counter: true;
}): KeyValueStoreWithCounter<T>;
export declare function getKeyValueStore<T>(name: string, options?: KeyValueStoreOptions): KeyValueStore<T>;
export declare function getCounterStoreName(baseName: string): `${string}Counter`;
export declare function getCounterStore(name: string): KeyValueStore<number>;
export declare function getGlobalCounterStore(): KeyValueStore<number>;
export declare function getGlobalCount(): Promise<number>;
