import { LDLogger, ProcessStreamResponse, VoidFunction } from '@launchdarkly/js-sdk-common';
import { LDDataSourceUpdates } from '../api/subsystems';
import { AllData, DeleteData, deserializeAll, deserializeDelete, deserializePatch, PatchData } from '../store/serialization';
export declare const createPutListener: (dataSourceUpdates: LDDataSourceUpdates, logger?: LDLogger, onPutCompleteHandler?: VoidFunction) => {
    deserializeData: typeof deserializeAll;
    processJson: ({ data: { flags, segments } }: AllData) => Promise<void>;
};
export declare const createPatchListener: (dataSourceUpdates: LDDataSourceUpdates, logger?: LDLogger, onPatchCompleteHandler?: VoidFunction) => {
    deserializeData: typeof deserializePatch;
    processJson: ({ data, kind, path }: PatchData) => Promise<void>;
};
export declare const createDeleteListener: (dataSourceUpdates: LDDataSourceUpdates, logger?: LDLogger, onDeleteCompleteHandler?: VoidFunction) => {
    deserializeData: typeof deserializeDelete;
    processJson: ({ kind, path, version }: DeleteData) => Promise<void>;
};
export declare const createStreamListeners: (dataSourceUpdates: LDDataSourceUpdates, logger?: LDLogger, onCompleteHandlers?: {
    put?: VoidFunction;
    patch?: VoidFunction;
    delete?: VoidFunction;
}) => Map<string, ProcessStreamResponse>;
//# sourceMappingURL=createStreamListeners.d.ts.map