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