import { internal } from '@launchdarkly/js-sdk-common';
import { DataKind } from '../api/interfaces';
import { LDFeatureStoreDataStorage, LDFeatureStoreItem, LDFeatureStoreKindData, LDKeyedFeatureStoreItem, LDTransactionalFeatureStore } from '../api/subsystems';
export default class InMemoryFeatureStore implements LDTransactionalFeatureStore {
    private _allData;
    private _selector;
    private _initCalled;
    private _initMetadata?;
    get(kind: DataKind, key: string, callback: (res: LDFeatureStoreItem | null) => void): void;
    all(kind: DataKind, callback: (res: LDFeatureStoreKindData) => void): void;
    init(allData: LDFeatureStoreDataStorage, callback: () => void, initMetadata?: internal.InitMetadata): void;
    delete(kind: DataKind, key: string, version: number, callback: () => void): void;
    upsert(kind: DataKind, data: LDKeyedFeatureStoreItem, callback: () => void): void;
    applyChanges(basis: boolean, data: LDFeatureStoreDataStorage, callback: () => void, initMetadata?: internal.InitMetadata, selector?: string): void;
    initialized(callback: (isInitialized: boolean) => void): void;
    close(): void;
    getDescription(): string;
    getInitMetaData(): internal.InitMetadata | undefined;
    getSelector(): string | undefined;
}
//# sourceMappingURL=InMemoryFeatureStore.d.ts.map