/**
 * @fileoverview Fast-Check Arbitraries for TAP Message Types
 *
 * This module provides fast-check arbitraries that can generate valid TAP data structures
 * for property-based testing.
 */
import * as fc from "fast-check";
import type { DID, IRI, CAIP10, CAIP19, Amount, Participant, Person, Organization, Agent, Transfer, Payment, RFQ, Quote, Lock, Capture, Authorize, Connect, Settle, Reject, Cancel, Revert, TransferMessage, PaymentMessage, RFQMessage, QuoteMessage, LockMessage, CaptureMessage, AuthorizeMessage, ConnectMessage, SettleMessage, RejectMessage, CancelMessage, RevertMessage, TAPMessage } from "./tap";
import type { IsoCurrency } from "./currencies";
export declare const did: () => fc.Arbitrary<DID>;
export declare const iri: () => fc.Arbitrary<IRI>;
export declare const uuid: () => fc.Arbitrary<string>;
export declare const caip10: () => fc.Arbitrary<CAIP10>;
export declare const caip19: () => fc.Arbitrary<CAIP19>;
export declare const amount: () => fc.Arbitrary<Amount>;
export declare const isoCurrency: () => fc.Arbitrary<IsoCurrency>;
export declare const supportedAssetPricing: () => fc.Arbitrary<any>;
export declare const participant: () => fc.Arbitrary<Participant>;
export declare const person: () => fc.Arbitrary<Person>;
export declare const organization: () => fc.Arbitrary<Organization>;
export declare const party: () => fc.Arbitrary<Person | Organization>;
export declare const agent: () => fc.Arbitrary<Agent>;
export declare const transfer: () => fc.Arbitrary<Transfer>;
export declare const payment: () => fc.Arbitrary<Payment>;
export declare const rfq: () => fc.Arbitrary<RFQ>;
export declare const quote: () => fc.Arbitrary<Quote>;
export declare const lock: () => fc.Arbitrary<Lock>;
export declare const capture: () => fc.Arbitrary<Capture>;
export declare const authorize: () => fc.Arbitrary<Authorize>;
export declare const connect: () => fc.Arbitrary<Connect>;
export declare const settle: () => fc.Arbitrary<Settle>;
export declare const reject: () => fc.Arbitrary<Reject>;
export declare const cancel: () => fc.Arbitrary<Cancel>;
export declare const revert: () => fc.Arbitrary<Revert>;
export declare const didcommMessage: <T>(bodyArb: fc.Arbitrary<T>) => fc.Arbitrary<{
    id: string;
    type: string;
    from: `did:${string}:${string}`;
    to: `did:${string}:${string}`[];
    created_time: number;
    body: T | (undefined & T);
    thid: string | undefined;
}>;
export declare const didcommReply: <T>(bodyArb: fc.Arbitrary<T>) => fc.Arbitrary<{
    id: string;
    type: string;
    from: `did:${string}:${string}`;
    to: `did:${string}:${string}`[];
    created_time: number;
    thid: string;
    body: T | (undefined & T);
}>;
export declare const transferMessage: () => fc.Arbitrary<TransferMessage>;
export declare const paymentMessage: () => fc.Arbitrary<PaymentMessage>;
export declare const rfqMessage: () => fc.Arbitrary<RFQMessage>;
export declare const quoteMessage: () => fc.Arbitrary<QuoteMessage>;
export declare const lockMessage: () => fc.Arbitrary<LockMessage>;
export declare const captureMessage: () => fc.Arbitrary<CaptureMessage>;
export declare const authorizeMessage: () => fc.Arbitrary<AuthorizeMessage>;
export declare const connectMessage: () => fc.Arbitrary<ConnectMessage>;
export declare const settleMessage: () => fc.Arbitrary<SettleMessage>;
export declare const rejectMessage: () => fc.Arbitrary<RejectMessage>;
export declare const cancelMessage: () => fc.Arbitrary<CancelMessage>;
export declare const revertMessage: () => fc.Arbitrary<RevertMessage>;
export declare const tapMessage: () => fc.Arbitrary<TAPMessage>;
export declare const arbitraries: {
    readonly fundamental: {
        readonly did: () => fc.Arbitrary<`did:${string}:${string}`>;
        readonly iri: () => fc.Arbitrary<`${string}:${string}`>;
        readonly uuid: () => fc.Arbitrary<string>;
        readonly caip10: () => fc.Arbitrary<`${string}:${string}:${string}`>;
        readonly caip19: () => fc.Arbitrary<`${string}:${string}/${string}:${string}`>;
        readonly amount: () => fc.Arbitrary<Amount>;
        readonly isoCurrency: () => fc.Arbitrary<IsoCurrency>;
        readonly supportedAssetPricing: () => fc.Arbitrary<any>;
    };
    readonly participants: {
        readonly participant: () => fc.Arbitrary<Participant>;
        readonly person: () => fc.Arbitrary<Person>;
        readonly organization: () => fc.Arbitrary<Organization>;
        readonly party: () => fc.Arbitrary<Person | Organization>;
        readonly agent: () => fc.Arbitrary<Agent>;
    };
    readonly messageBodies: {
        readonly transfer: () => fc.Arbitrary<Transfer>;
        readonly payment: () => fc.Arbitrary<Payment>;
        readonly rfq: () => fc.Arbitrary<RFQ>;
        readonly quote: () => fc.Arbitrary<Quote>;
        readonly lock: () => fc.Arbitrary<Lock>;
        readonly capture: () => fc.Arbitrary<Capture>;
        readonly authorize: () => fc.Arbitrary<Authorize>;
        readonly connect: () => fc.Arbitrary<Connect>;
        readonly settle: () => fc.Arbitrary<Settle>;
        readonly reject: () => fc.Arbitrary<Reject>;
        readonly cancel: () => fc.Arbitrary<Cancel>;
        readonly revert: () => fc.Arbitrary<Revert>;
    };
    readonly messages: {
        readonly transferMessage: () => fc.Arbitrary<TransferMessage>;
        readonly paymentMessage: () => fc.Arbitrary<PaymentMessage>;
        readonly rfqMessage: () => fc.Arbitrary<RFQMessage>;
        readonly quoteMessage: () => fc.Arbitrary<QuoteMessage>;
        readonly lockMessage: () => fc.Arbitrary<LockMessage>;
        readonly captureMessage: () => fc.Arbitrary<CaptureMessage>;
        readonly authorizeMessage: () => fc.Arbitrary<AuthorizeMessage>;
        readonly connectMessage: () => fc.Arbitrary<ConnectMessage>;
        readonly settleMessage: () => fc.Arbitrary<SettleMessage>;
        readonly rejectMessage: () => fc.Arbitrary<RejectMessage>;
        readonly cancelMessage: () => fc.Arbitrary<CancelMessage>;
        readonly revertMessage: () => fc.Arbitrary<RevertMessage>;
        readonly tapMessage: () => fc.Arbitrary<TAPMessage>;
    };
};
//# sourceMappingURL=arbitraries.d.ts.map