import { Duplex } from 'stream';
import { Serialized, SerializedValue } from "../serialization/serialization";
import type { RequestRuleData } from "./requests/request-rule";
import type { WebSocketRuleData } from "./websockets/websocket-rule";
import type { RequestStepDefinition } from "./requests/request-step-definitions";
import type { WebSocketStepDefinition } from "./websockets/websocket-step-definitions";
import { RuleParameters } from "./rule-parameters";
import { BodySerializer } from "../serialization/body-serialization";
/**
 * @internal
 */
export interface MockttpDeserializationOptions {
    ruleParams: RuleParameters;
    bodySerializer: BodySerializer;
}
export declare function deserializeRuleData(data: Serialized<RequestRuleData> & {
    handler?: SerializedValue<RequestStepDefinition>;
}, stream: Duplex, options: MockttpDeserializationOptions): RequestRuleData;
export declare function deserializeWebSocketRuleData(data: Serialized<WebSocketRuleData> & {
    handler?: SerializedValue<WebSocketStepDefinition>;
}, stream: Duplex, options: MockttpDeserializationOptions): WebSocketRuleData;
//# sourceMappingURL=rule-deserialization.d.ts.map