/**
 * fast-check arbitraries for generating store-layer data structures:
 * IndexedItems, KeyValues for indexing, GenericMessage-like objects, and data blobs.
 */
import type { Arbitrary } from 'fast-check';
import type { GenericMessage } from '../../../src/types/message-types.js';
import type { KeyValues } from '../../../src/types/query-types.js';
/**
 * Generates a plausible messageCid string.
 * Uses a simplified format — real CIDs are longer but we need unique, deterministic strings.
 */
export declare function messageCid(): Arbitrary<string>;
/**
 * Generates a DWN-style ISO-8601 timestamp with microsecond precision.
 * Filters out invalid dates that `fc.date()` may produce.
 */
export declare function dwnTimestamp(): Arbitrary<string>;
/**
 * Generates KeyValues suitable for indexing in IndexLevel.
 * Always includes a sortable timestamp property.
 *
 * All non-timestamp index values are strings, matching real-world DWN behaviour
 * where protocol, protocolPath, schema, etc. are always URIs or path strings.
 */
export declare function indexKeyValues(): Arbitrary<KeyValues>;
/**
 * Generates a set of N indexed items (messageCid + KeyValues) with unique CIDs.
 * All items share the same sort properties to ensure they are comparable.
 */
export declare function indexedItemSet(opts?: {
    minSize?: number;
    maxSize?: number;
}): Arbitrary<{
    cid: string;
    indexes: KeyValues;
}[]>;
/**
 * Generates a tenant DID string.
 */
export declare function tenantDid(): Arbitrary<string>;
/**
 * Generates arbitrary binary data suitable for DataStore testing.
 */
export declare function dataBlob(opts?: {
    minSize?: number;
    maxSize?: number;
}): Arbitrary<Uint8Array>;
/**
 * Generates a record ID string.
 */
export declare function recordId(): Arbitrary<string>;
/**
 * Generates a minimal GenericMessage with a valid descriptor.
 * The message is CID-computable (DAG-CBOR + SHA-256) via `Message.getCid()`.
 *
 * Each generated message has a unique descriptor (varied interface, method, timestamp,
 * and an optional extra field) so that different messages produce different CIDs.
 */
export declare function genericMessage(): Arbitrary<GenericMessage>;
/**
 * Generates a set of N GenericMessage objects with guaranteed unique descriptors.
 * Returns messages paired with their index KeyValues for MessageStoreLevel.put().
 */
export declare function genericMessageSet(opts?: {
    minSize?: number;
    maxSize?: number;
}): Arbitrary<{
    message: GenericMessage;
    indexes: KeyValues;
}[]>;
//# sourceMappingURL=store.arbitrary.d.ts.map