/**
* @since 0.67.0
*/
import * as FastCheck from "./FastCheck.js";
import type * as Schema from "./Schema.js";
/**
* @category model
* @since 0.67.0
*/
export interface LazyArbitrary {
(fc: typeof FastCheck): FastCheck.Arbitrary;
}
/**
* @category hooks
* @since 0.67.0
*/
export declare const ArbitraryHookId: unique symbol;
/**
* @category hooks
* @since 0.67.0
*/
export type ArbitraryHookId = typeof ArbitraryHookId;
/**
* @category hooks
* @since 0.72.3
*/
export interface GenerationContext {
readonly depthIdentifier?: string;
readonly maxDepth: number;
}
/**
* @category hooks
* @since 0.72.3
*/
export type ArbitraryAnnotation = (...args: [...ReadonlyArray>, GenerationContext]) => LazyArbitrary;
/**
* @category annotations
* @since 0.67.0
*/
export declare const arbitrary: (annotation: ArbitraryAnnotation) => (self: Schema.Schema) => Schema.Schema;
/**
* Returns a LazyArbitrary for the `A` type of the provided schema.
*
* @category arbitrary
* @since 0.67.0
*/
export declare const makeLazy: (schema: Schema.Schema) => LazyArbitrary;
/**
* Returns a fast-check Arbitrary for the `A` type of the provided schema.
*
* @category arbitrary
* @since 0.67.0
*/
export declare const make: (schema: Schema.Schema) => FastCheck.Arbitrary;
//# sourceMappingURL=Arbitrary.d.ts.map