/**
 * fast-check arbitraries for generating ProtocolDefinition structures.
 * Generates both valid-ish and adversarial protocol definitions for fuzzing
 * ProtocolsConfigure.validateProtocolDefinition().
 */
import type { Arbitrary } from 'fast-check';
import type { ProtocolActionRule, ProtocolDefinition, ProtocolRuleSet, ProtocolType } from '../../../src/types/protocols-types.js';
/**
 * Generates a ProtocolType definition.
 */
export declare function protocolType(): Arbitrary<ProtocolType>;
/**
 * Generates a single ProtocolActionRule.
 */
export declare function actionRule(): Arbitrary<ProtocolActionRule>;
/**
 * Generates a ProtocolRuleSet (a single node in the protocol `structure` tree).
 * Recursion depth is bounded to prevent stack overflow.
 */
export declare function ruleSet(maxDepth?: number): Arbitrary<ProtocolRuleSet>;
/**
 * Generates a ProtocolDefinition with plausible structure.
 * Types are generated to roughly match the structure keys.
 */
export declare function protocolDefinition(): Arbitrary<ProtocolDefinition>;
/**
 * Generates an adversarial protocol definition designed to stress validation.
 * Includes deeply nested structures, invalid URLs, and unusual type configurations.
 */
export declare function adversarialProtocolDefinition(): Arbitrary<Record<string, unknown>>;
//# sourceMappingURL=protocol-definition.arbitrary.d.ts.map