import type { DataKind, LDFeatureStore, LDFeatureStoreDataStorage, LDFeatureStoreItem, LDFeatureStoreKindData, LDLogger } from '@launchdarkly/js-server-sdk-common';
import Cache from './cache';
export interface EdgeProvider {
    get: (rootKey: string) => Promise<string | Record<string, any> | null | undefined>;
}
export declare class EdgeFeatureStore implements LDFeatureStore {
    private readonly _edgeProvider;
    private readonly _description;
    private _logger;
    private _cache?;
    private readonly _rootKey;
    constructor(_edgeProvider: EdgeProvider, sdkKey: string, _description: string, _logger: LDLogger, _cache?: Cache | undefined);
    get(kind: DataKind, dataKey: string, callback: (res: LDFeatureStoreItem | null) => void): Promise<void>;
    all(kind: DataKind, callback?: (res: LDFeatureStoreKindData) => void): Promise<void>;
    /**
     * This method is used to retrieve the environment payload from the edge
     * provider. If a cache is provided, it will serve from that.
     */
    private _getStorePayload;
    initialized(callback?: (isInitialized: boolean) => void): Promise<void>;
    init(allData: LDFeatureStoreDataStorage, callback: () => void): void;
    getDescription(): string;
    close(): void;
    delete: () => void;
    upsert: () => void;
}
//# sourceMappingURL=EdgeFeatureStore.d.ts.map