import { internal } from '@launchdarkly/js-sdk-common';
import { DataKind } from '../api/interfaces';
import { LDFeatureStore, LDFeatureStoreDataStorage, LDFeatureStoreItem, LDFeatureStoreKindData, LDKeyedFeatureStoreItem } from '../api/subsystems';
type InitMetadata = internal.InitMetadata;
/**
 * Provides an async interface to a feature store.
 *
 * This allows for using a store using async/await instead of callbacks.
 *
 */
export default class AsyncStoreFacade {
    private _store;
    constructor(store: LDFeatureStore);
    get(kind: DataKind, key: string): Promise<LDFeatureStoreItem | null>;
    all(kind: DataKind): Promise<LDFeatureStoreKindData>;
    init(allData: LDFeatureStoreDataStorage, initMetadata?: InitMetadata): Promise<void>;
    delete(kind: DataKind, key: string, version: number): Promise<void>;
    upsert(kind: DataKind, data: LDKeyedFeatureStoreItem): Promise<void>;
    initialized(): Promise<boolean>;
    close(): void;
    getInitMetadata?(): InitMetadata | undefined;
}
export {};
//# sourceMappingURL=AsyncStoreFacade.d.ts.map