/** * @since 3.10.0 */ import * as FastCheck from "./FastCheck.js"; import type * as Schema from "./Schema.js"; /** * @category model * @since 3.10.0 */ export interface LazyArbitrary { (fc: typeof FastCheck): FastCheck.Arbitrary; } /** * @category annotations * @since 3.10.0 */ export interface ArbitraryGenerationContext { readonly maxDepth: number; readonly depthIdentifier?: string; readonly constraints?: StringConstraints | NumberConstraints | BigIntConstraints | DateConstraints | ArrayConstraints; } /** * @category annotations * @since 3.10.0 */ export type ArbitraryAnnotation = readonly []> = (...arbitraries: [ ...{ readonly [K in keyof TypeParameters]: LazyArbitrary; }, ctx: ArbitraryGenerationContext ]) => LazyArbitrary; /** * Returns a LazyArbitrary for the `A` type of the provided schema. * * @category arbitrary * @since 3.10.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 3.10.0 */ export declare const make: (schema: Schema.Schema) => FastCheck.Arbitrary; interface StringConstraints { readonly _tag: "StringConstraints"; readonly constraints: FastCheck.StringSharedConstraints; readonly pattern?: string; } interface NumberConstraints { readonly _tag: "NumberConstraints"; readonly constraints: FastCheck.FloatConstraints; readonly isInteger: boolean; } interface BigIntConstraints { readonly _tag: "BigIntConstraints"; readonly constraints: FastCheck.BigIntConstraints; } interface ArrayConstraints { readonly _tag: "ArrayConstraints"; readonly constraints: FastCheck.ArrayConstraints; } interface DateConstraints { readonly _tag: "DateConstraints"; readonly constraints: FastCheck.DateConstraints; } export {}; //# sourceMappingURL=Arbitrary.d.ts.map