import { z } from 'zod'; import type { SerializedNestedType, SerializedType } from './serialize-provable.ts'; import type { Json } from './types.ts'; export { SerializedTypeSchema, SerializedValueSchema, StoredCredentialSchema, PresentationRequestSchema, NodeSchema, InputSchema, ContextSchema, PresentationSchema, credentialSpecWithVk, }; export type { InputJSON, ConstantInputJSON, ImportedWitnessSpecJSON, CredentialSpecJSON, VerificationKeyJSON, CredentialSpecWithVkJSON, NodeJSON, SpecJSON, PresentationRequestJSON, StoredCredentialJSON, ContextJSON, ZkAppIdentityJSON, PresentationJSON, }; declare const maxProofsVerified: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>]>; declare const featureFlags: z.ZodObject<{ rangeCheck0: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; rangeCheck1: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; foreignFieldAdd: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; foreignFieldMul: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; xor: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; rot: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; lookup: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; runtimeTables: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; }, "strip", z.ZodTypeAny, { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }, { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }>; declare const SerializedTypeSchema: z.ZodType; declare const SerializedValueSchema: z.ZodIntersection, z.ZodObject<{ value: z.ZodType; }, "strip", z.ZodTypeAny, { value: Json; }, { value: Json; }>>; type SerializedValue = z.infer; type NodeJSON = { type: 'owner'; } | { type: 'credential'; credentialKey: string; } | { type: 'issuer'; credentialKey: string; } | { type: 'issuerPublicKey'; credentialKey: string; } | { type: 'verificationKeyHash'; credentialKey: string; } | { type: 'publicInput'; credentialKey: string; } | { type: 'constant'; data: SerializedValue; } | { type: 'root'; } | { type: 'property'; key: string; inner: NodeJSON; } | { type: 'record'; data: Record; } | { type: 'equals'; left: NodeJSON; right: NodeJSON; } | { type: 'equalsOneOf'; input: NodeJSON; options: NodeJSON[] | NodeJSON; } | { type: 'lessThan'; left: NodeJSON; right: NodeJSON; } | { type: 'lessThanEq'; left: NodeJSON; right: NodeJSON; } | { type: 'add'; left: NodeJSON; right: NodeJSON; } | { type: 'sub'; left: NodeJSON; right: NodeJSON; } | { type: 'mul'; left: NodeJSON; right: NodeJSON; } | { type: 'div'; left: NodeJSON; right: NodeJSON; } | { type: 'and'; inputs: NodeJSON[]; } | { type: 'or'; left: NodeJSON; right: NodeJSON; } | { type: 'not'; inner: NodeJSON; } | { type: 'hash'; inputs: NodeJSON[]; prefix?: string | null; } | { type: 'ifThenElse'; condition: NodeJSON; thenNode: NodeJSON; elseNode: NodeJSON; }; declare const NodeSchema: z.ZodType; declare const importedWitnessSpec: z.ZodObject<{ type: z.ZodLiteral<"imported">; publicInputType: z.ZodType; publicOutputType: z.ZodType; maxProofsVerified: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>]>; featureFlags: z.ZodObject<{ rangeCheck0: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; rangeCheck1: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; foreignFieldAdd: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; foreignFieldMul: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; xor: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; rot: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; lookup: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; runtimeTables: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; }, "strip", z.ZodTypeAny, { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }, { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }>; }, "strip", z.ZodTypeAny, { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; }, { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; }>; type ImportedWitnessSpecJSON = z.infer; declare const credentialSpec: z.ZodObject<{ type: z.ZodLiteral<"credential">; credentialType: z.ZodUnion<[z.ZodLiteral<"native">, z.ZodLiteral<"unsigned">, z.ZodLiteral<"imported">]>; witness: z.ZodUnion<[z.ZodObject<{ type: z.ZodLiteral<"imported">; publicInputType: z.ZodType; publicOutputType: z.ZodType; maxProofsVerified: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>]>; featureFlags: z.ZodObject<{ rangeCheck0: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; rangeCheck1: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; foreignFieldAdd: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; foreignFieldMul: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; xor: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; rot: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; lookup: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; runtimeTables: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; }, "strip", z.ZodTypeAny, { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }, { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }>; }, "strip", z.ZodTypeAny, { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; }, { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; }>, z.ZodNull]>; data: z.ZodType; }, "strict", z.ZodTypeAny, { type: "credential"; data: SerializedNestedType; credentialType: "imported" | "native" | "unsigned"; witness: { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; } | null; }, { type: "credential"; data: SerializedNestedType; credentialType: "imported" | "native" | "unsigned"; witness: { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; } | null; }>; type CredentialSpecJSON = z.infer; declare const verificationKeySimple: z.ZodObject<{ data: z.ZodString; hash: z.ZodString; }, "strip", z.ZodTypeAny, { data: string; hash: string; }, { data: string; hash: string; }>; type VerificationKeyJSON = z.infer; declare const credentialSpecWithVk: z.ZodObject<{ spec: z.ZodObject<{ type: z.ZodLiteral<"credential">; credentialType: z.ZodUnion<[z.ZodLiteral<"native">, z.ZodLiteral<"unsigned">, z.ZodLiteral<"imported">]>; witness: z.ZodUnion<[z.ZodObject<{ type: z.ZodLiteral<"imported">; publicInputType: z.ZodType; publicOutputType: z.ZodType; maxProofsVerified: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>]>; featureFlags: z.ZodObject<{ rangeCheck0: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; rangeCheck1: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; foreignFieldAdd: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; foreignFieldMul: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; xor: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; rot: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; lookup: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; runtimeTables: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; }, "strip", z.ZodTypeAny, { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }, { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }>; }, "strip", z.ZodTypeAny, { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; }, { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; }>, z.ZodNull]>; data: z.ZodType; }, "strict", z.ZodTypeAny, { type: "credential"; data: SerializedNestedType; credentialType: "imported" | "native" | "unsigned"; witness: { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; } | null; }, { type: "credential"; data: SerializedNestedType; credentialType: "imported" | "native" | "unsigned"; witness: { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; } | null; }>; verificationKey: z.ZodObject<{ data: z.ZodString; hash: z.ZodString; }, "strip", z.ZodTypeAny, { data: string; hash: string; }, { data: string; hash: string; }>; }, "strip", z.ZodTypeAny, { spec: { type: "credential"; data: SerializedNestedType; credentialType: "imported" | "native" | "unsigned"; witness: { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; } | null; }; verificationKey: { data: string; hash: string; }; }, { spec: { type: "credential"; data: SerializedNestedType; credentialType: "imported" | "native" | "unsigned"; witness: { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; } | null; }; verificationKey: { data: string; hash: string; }; }>; type CredentialSpecWithVkJSON = z.infer; declare const ConstantInputSchema: z.ZodObject<{ type: z.ZodLiteral<"constant">; data: z.ZodType; value: z.ZodType; }, "strict", z.ZodTypeAny, { value: Json; type: "constant"; data: SerializedType; }, { value: Json; type: "constant"; data: SerializedType; }>; type ConstantInputJSON = z.infer; declare const InputSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"credential">; credentialType: z.ZodUnion<[z.ZodLiteral<"native">, z.ZodLiteral<"unsigned">, z.ZodLiteral<"imported">]>; witness: z.ZodUnion<[z.ZodObject<{ type: z.ZodLiteral<"imported">; publicInputType: z.ZodType; publicOutputType: z.ZodType; maxProofsVerified: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>]>; featureFlags: z.ZodObject<{ rangeCheck0: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; rangeCheck1: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; foreignFieldAdd: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; foreignFieldMul: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; xor: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; rot: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; lookup: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; runtimeTables: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; }, "strip", z.ZodTypeAny, { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }, { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }>; }, "strip", z.ZodTypeAny, { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; }, { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; }>, z.ZodNull]>; data: z.ZodType; }, "strict", z.ZodTypeAny, { type: "credential"; data: SerializedNestedType; credentialType: "imported" | "native" | "unsigned"; witness: { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; } | null; }, { type: "credential"; data: SerializedNestedType; credentialType: "imported" | "native" | "unsigned"; witness: { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; } | null; }>, z.ZodObject<{ type: z.ZodLiteral<"constant">; data: z.ZodType; value: z.ZodType; }, "strict", z.ZodTypeAny, { value: Json; type: "constant"; data: SerializedType; }, { value: Json; type: "constant"; data: SerializedType; }>, z.ZodObject<{ type: z.ZodLiteral<"claim">; data: z.ZodType; }, "strict", z.ZodTypeAny, { type: "claim"; data: SerializedNestedType; }, { type: "claim"; data: SerializedNestedType; }>]>; type InputJSON = z.infer; declare const spec: z.ZodObject<{ inputs: z.ZodRecord; credentialType: z.ZodUnion<[z.ZodLiteral<"native">, z.ZodLiteral<"unsigned">, z.ZodLiteral<"imported">]>; witness: z.ZodUnion<[z.ZodObject<{ type: z.ZodLiteral<"imported">; publicInputType: z.ZodType; publicOutputType: z.ZodType; maxProofsVerified: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>]>; featureFlags: z.ZodObject<{ rangeCheck0: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; rangeCheck1: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; foreignFieldAdd: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; foreignFieldMul: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; xor: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; rot: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; lookup: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; runtimeTables: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; }, "strip", z.ZodTypeAny, { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }, { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }>; }, "strip", z.ZodTypeAny, { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; }, { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; }>, z.ZodNull]>; data: z.ZodType; }, "strict", z.ZodTypeAny, { type: "credential"; data: SerializedNestedType; credentialType: "imported" | "native" | "unsigned"; witness: { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; } | null; }, { type: "credential"; data: SerializedNestedType; credentialType: "imported" | "native" | "unsigned"; witness: { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; } | null; }>, z.ZodObject<{ type: z.ZodLiteral<"constant">; data: z.ZodType; value: z.ZodType; }, "strict", z.ZodTypeAny, { value: Json; type: "constant"; data: SerializedType; }, { value: Json; type: "constant"; data: SerializedType; }>, z.ZodObject<{ type: z.ZodLiteral<"claim">; data: z.ZodType; }, "strict", z.ZodTypeAny, { type: "claim"; data: SerializedNestedType; }, { type: "claim"; data: SerializedNestedType; }>]>>; assert: z.ZodType; outputClaim: z.ZodType; }, "strict", z.ZodTypeAny, { inputs: Record; assert: NodeJSON; outputClaim: NodeJSON; }, { inputs: Record; assert: NodeJSON; outputClaim: NodeJSON; }>; type SpecJSON = z.infer; declare const zkAppIdentity: z.ZodObject<{ publicKey: z.ZodObject<{ _type: z.ZodLiteral<"PublicKey">; value: z.ZodString; }, "strict", z.ZodTypeAny, { value: string; _type: "PublicKey"; }, { value: string; _type: "PublicKey"; }>; tokenId: z.ZodObject<{ _type: z.ZodLiteral<"Field">; value: z.ZodString; }, "strict", z.ZodTypeAny, { value: string; _type: "Field"; }, { value: string; _type: "Field"; }>; network: z.ZodUnion<[z.ZodLiteral<"mainnet">, z.ZodLiteral<"devnet">, z.ZodObject<{ custom: z.ZodString; }, "strip", z.ZodTypeAny, { custom: string; }, { custom: string; }>]>; }, "strict", z.ZodTypeAny, { publicKey: { value: string; _type: "PublicKey"; }; tokenId: { value: string; _type: "Field"; }; network: "mainnet" | "devnet" | { custom: string; }; }, { publicKey: { value: string; _type: "PublicKey"; }; tokenId: { value: string; _type: "Field"; }; network: "mainnet" | "devnet" | { custom: string; }; }>; type ZkAppIdentityJSON = z.infer; declare const ContextSchema: z.ZodUnion<[z.ZodObject<{ type: z.ZodLiteral<"https">; action: z.ZodString; serverNonce: z.ZodObject<{ _type: z.ZodLiteral<"Field">; value: z.ZodString; }, "strict", z.ZodTypeAny, { value: string; _type: "Field"; }, { value: string; _type: "Field"; }>; }, "strict", z.ZodTypeAny, { type: "https"; action: string; serverNonce: { value: string; _type: "Field"; }; }, { type: "https"; action: string; serverNonce: { value: string; _type: "Field"; }; }>, z.ZodObject<{ type: z.ZodLiteral<"zk-app">; action: z.ZodString; serverNonce: z.ZodObject<{ _type: z.ZodLiteral<"Field">; value: z.ZodString; }, "strict", z.ZodTypeAny, { value: string; _type: "Field"; }, { value: string; _type: "Field"; }>; verifierIdentity: z.ZodObject<{ publicKey: z.ZodObject<{ _type: z.ZodLiteral<"PublicKey">; value: z.ZodString; }, "strict", z.ZodTypeAny, { value: string; _type: "PublicKey"; }, { value: string; _type: "PublicKey"; }>; tokenId: z.ZodObject<{ _type: z.ZodLiteral<"Field">; value: z.ZodString; }, "strict", z.ZodTypeAny, { value: string; _type: "Field"; }, { value: string; _type: "Field"; }>; network: z.ZodUnion<[z.ZodLiteral<"mainnet">, z.ZodLiteral<"devnet">, z.ZodObject<{ custom: z.ZodString; }, "strip", z.ZodTypeAny, { custom: string; }, { custom: string; }>]>; }, "strict", z.ZodTypeAny, { publicKey: { value: string; _type: "PublicKey"; }; tokenId: { value: string; _type: "Field"; }; network: "mainnet" | "devnet" | { custom: string; }; }, { publicKey: { value: string; _type: "PublicKey"; }; tokenId: { value: string; _type: "Field"; }; network: "mainnet" | "devnet" | { custom: string; }; }>; }, "strict", z.ZodTypeAny, { type: "zk-app"; action: string; serverNonce: { value: string; _type: "Field"; }; verifierIdentity: { publicKey: { value: string; _type: "PublicKey"; }; tokenId: { value: string; _type: "Field"; }; network: "mainnet" | "devnet" | { custom: string; }; }; }, { type: "zk-app"; action: string; serverNonce: { value: string; _type: "Field"; }; verifierIdentity: { publicKey: { value: string; _type: "PublicKey"; }; tokenId: { value: string; _type: "Field"; }; network: "mainnet" | "devnet" | { custom: string; }; }; }>, z.ZodNull]>; type ContextJSON = z.infer; declare const PresentationRequestSchema: z.ZodObject<{ type: z.ZodUnion<[z.ZodLiteral<"no-context">, z.ZodLiteral<"zk-app">, z.ZodLiteral<"https">]>; spec: z.ZodObject<{ inputs: z.ZodRecord; credentialType: z.ZodUnion<[z.ZodLiteral<"native">, z.ZodLiteral<"unsigned">, z.ZodLiteral<"imported">]>; witness: z.ZodUnion<[z.ZodObject<{ type: z.ZodLiteral<"imported">; publicInputType: z.ZodType; publicOutputType: z.ZodType; maxProofsVerified: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>]>; featureFlags: z.ZodObject<{ rangeCheck0: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; rangeCheck1: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; foreignFieldAdd: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; foreignFieldMul: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; xor: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; rot: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; lookup: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; runtimeTables: z.ZodUnion<[z.ZodBoolean, z.ZodNull]>; }, "strip", z.ZodTypeAny, { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }, { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }>; }, "strip", z.ZodTypeAny, { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; }, { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; }>, z.ZodNull]>; data: z.ZodType; }, "strict", z.ZodTypeAny, { type: "credential"; data: SerializedNestedType; credentialType: "imported" | "native" | "unsigned"; witness: { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; } | null; }, { type: "credential"; data: SerializedNestedType; credentialType: "imported" | "native" | "unsigned"; witness: { type: "imported"; publicInputType: SerializedType; publicOutputType: SerializedType; maxProofsVerified: 0 | 2 | 1; featureFlags: { rangeCheck0: boolean | null; rangeCheck1: boolean | null; foreignFieldAdd: boolean | null; foreignFieldMul: boolean | null; xor: boolean | null; rot: boolean | null; lookup: boolean | null; runtimeTables: boolean | null; }; } | null; }>, z.ZodObject<{ type: z.ZodLiteral<"constant">; data: z.ZodType; value: z.ZodType; }, "strict", z.ZodTypeAny, { value: Json; type: "constant"; data: SerializedType; }, { value: Json; type: "constant"; data: SerializedType; }>, z.ZodObject<{ type: z.ZodLiteral<"claim">; data: z.ZodType; }, "strict", z.ZodTypeAny, { type: "claim"; data: SerializedNestedType; }, { type: "claim"; data: SerializedNestedType; }>]>>; assert: z.ZodType; outputClaim: z.ZodType; }, "strict", z.ZodTypeAny, { inputs: Record; assert: NodeJSON; outputClaim: NodeJSON; }, { inputs: Record; assert: NodeJSON; outputClaim: NodeJSON; }>; claims: z.ZodRecord, z.ZodObject<{ value: z.ZodType; }, "strip", z.ZodTypeAny, { value: Json; }, { value: Json; }>>>; inputContext: z.ZodUnion<[z.ZodObject<{ type: z.ZodLiteral<"https">; action: z.ZodString; serverNonce: z.ZodObject<{ _type: z.ZodLiteral<"Field">; value: z.ZodString; }, "strict", z.ZodTypeAny, { value: string; _type: "Field"; }, { value: string; _type: "Field"; }>; }, "strict", z.ZodTypeAny, { type: "https"; action: string; serverNonce: { value: string; _type: "Field"; }; }, { type: "https"; action: string; serverNonce: { value: string; _type: "Field"; }; }>, z.ZodObject<{ type: z.ZodLiteral<"zk-app">; action: z.ZodString; serverNonce: z.ZodObject<{ _type: z.ZodLiteral<"Field">; value: z.ZodString; }, "strict", z.ZodTypeAny, { value: string; _type: "Field"; }, { value: string; _type: "Field"; }>; verifierIdentity: z.ZodObject<{ publicKey: z.ZodObject<{ _type: z.ZodLiteral<"PublicKey">; value: z.ZodString; }, "strict", z.ZodTypeAny, { value: string; _type: "PublicKey"; }, { value: string; _type: "PublicKey"; }>; tokenId: z.ZodObject<{ _type: z.ZodLiteral<"Field">; value: z.ZodString; }, "strict", z.ZodTypeAny, { value: string; _type: "Field"; }, { value: string; _type: "Field"; }>; network: z.ZodUnion<[z.ZodLiteral<"mainnet">, z.ZodLiteral<"devnet">, z.ZodObject<{ custom: z.ZodString; }, "strip", z.ZodTypeAny, { custom: string; }, { custom: string; }>]>; }, "strict", z.ZodTypeAny, { publicKey: { value: string; _type: "PublicKey"; }; tokenId: { value: string; _type: "Field"; }; network: "mainnet" | "devnet" | { custom: string; }; }, { publicKey: { value: string; _type: "PublicKey"; }; tokenId: { value: string; _type: "Field"; }; network: "mainnet" | "devnet" | { custom: string; }; }>; }, "strict", z.ZodTypeAny, { type: "zk-app"; action: string; serverNonce: { value: string; _type: "Field"; }; verifierIdentity: { publicKey: { value: string; _type: "PublicKey"; }; tokenId: { value: string; _type: "Field"; }; network: "mainnet" | "devnet" | { custom: string; }; }; }, { type: "zk-app"; action: string; serverNonce: { value: string; _type: "Field"; }; verifierIdentity: { publicKey: { value: string; _type: "PublicKey"; }; tokenId: { value: string; _type: "Field"; }; network: "mainnet" | "devnet" | { custom: string; }; }; }>, z.ZodNull]>; }, "strict", z.ZodTypeAny, { type: "https" | "zk-app" | "no-context"; spec: { inputs: Record; assert: NodeJSON; outputClaim: NodeJSON; }; claims: Record; inputContext: { type: "https"; action: string; serverNonce: { value: string; _type: "Field"; }; } | { type: "zk-app"; action: string; serverNonce: { value: string; _type: "Field"; }; verifierIdentity: { publicKey: { value: string; _type: "PublicKey"; }; tokenId: { value: string; _type: "Field"; }; network: "mainnet" | "devnet" | { custom: string; }; }; } | null; }, { type: "https" | "zk-app" | "no-context"; spec: { inputs: Record; assert: NodeJSON; outputClaim: NodeJSON; }; claims: Record; inputContext: { type: "https"; action: string; serverNonce: { value: string; _type: "Field"; }; } | { type: "zk-app"; action: string; serverNonce: { value: string; _type: "Field"; }; verifierIdentity: { publicKey: { value: string; _type: "PublicKey"; }; tokenId: { value: string; _type: "Field"; }; network: "mainnet" | "devnet" | { custom: string; }; }; } | null; }>; type PresentationRequestJSON = z.infer; declare const StoredCredentialSchema: z.ZodObject<{ version: z.ZodLiteral<"v0">; witness: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"native">; issuer: z.ZodObject<{ _type: z.ZodLiteral<"PublicKey">; value: z.ZodString; }, "strict", z.ZodTypeAny, { value: string; _type: "PublicKey"; }, { value: string; _type: "PublicKey"; }>; issuerSignature: z.ZodObject<{ _type: z.ZodLiteral<"Signature">; value: z.ZodObject<{ r: z.ZodString; s: z.ZodString; }, "strip", z.ZodTypeAny, { r: string; s: string; }, { r: string; s: string; }>; }, "strict", z.ZodTypeAny, { value: { r: string; s: string; }; _type: "Signature"; }, { value: { r: string; s: string; }; _type: "Signature"; }>; }, "strict", z.ZodTypeAny, { type: "native"; issuer: { value: string; _type: "PublicKey"; }; issuerSignature: { value: { r: string; s: string; }; _type: "Signature"; }; }, { type: "native"; issuer: { value: string; _type: "PublicKey"; }; issuerSignature: { value: { r: string; s: string; }; _type: "Signature"; }; }>, z.ZodObject<{ type: z.ZodLiteral<"imported">; vk: z.ZodUnion<[z.ZodObject<{ data: z.ZodString; hash: z.ZodObject<{ _type: z.ZodLiteral<"Field">; value: z.ZodString; }, "strict", z.ZodTypeAny, { value: string; _type: "Field"; }, { value: string; _type: "Field"; }>; }, "strict", z.ZodTypeAny, { data: string; hash: { value: string; _type: "Field"; }; }, { data: string; hash: { value: string; _type: "Field"; }; }>, z.ZodObject<{ _type: z.ZodLiteral<"VerificationKey">; value: z.ZodObject<{ data: z.ZodString; hash: z.ZodString; }, "strip", z.ZodTypeAny, { data: string; hash: string; }, { data: string; hash: string; }>; }, "strip", z.ZodTypeAny, { value: { data: string; hash: string; }; _type: "VerificationKey"; }, { value: { data: string; hash: string; }; _type: "VerificationKey"; }>]>; proof: z.ZodObject<{ _type: z.ZodLiteral<"Proof">; proof: z.ZodType<{ name: string; publicInput: SerializedType; publicOutput: SerializedType; maxProofsVerified: z.infer; featureFlags: z.infer; }, z.ZodTypeDef, { name: string; publicInput: SerializedType; publicOutput: SerializedType; maxProofsVerified: z.infer; featureFlags: z.infer; }>; value: z.ZodObject<{ publicInput: z.ZodType; publicOutput: z.ZodType; maxProofsVerified: z.ZodNumber; proof: z.ZodString; }, "strict", z.ZodTypeAny, { maxProofsVerified: number; proof: string; publicInput: Json; publicOutput: Json; }, { maxProofsVerified: number; proof: string; publicInput: Json; publicOutput: Json; }>; }, "strict", z.ZodTypeAny, { value: { maxProofsVerified: number; proof: string; publicInput: Json; publicOutput: Json; }; _type: "Proof"; proof: { name: string; publicInput: SerializedType; publicOutput: SerializedType; maxProofsVerified: z.infer; featureFlags: z.infer; }; }, { value: { maxProofsVerified: number; proof: string; publicInput: Json; publicOutput: Json; }; _type: "Proof"; proof: { name: string; publicInput: SerializedType; publicOutput: SerializedType; maxProofsVerified: z.infer; featureFlags: z.infer; }; }>; }, "strict", z.ZodTypeAny, { type: "imported"; proof: { value: { maxProofsVerified: number; proof: string; publicInput: Json; publicOutput: Json; }; _type: "Proof"; proof: { name: string; publicInput: SerializedType; publicOutput: SerializedType; maxProofsVerified: z.infer; featureFlags: z.infer; }; }; vk: { data: string; hash: { value: string; _type: "Field"; }; } | { value: { data: string; hash: string; }; _type: "VerificationKey"; }; }, { type: "imported"; proof: { value: { maxProofsVerified: number; proof: string; publicInput: Json; publicOutput: Json; }; _type: "Proof"; proof: { name: string; publicInput: SerializedType; publicOutput: SerializedType; maxProofsVerified: z.infer; featureFlags: z.infer; }; }; vk: { data: string; hash: { value: string; _type: "Field"; }; } | { value: { data: string; hash: string; }; _type: "VerificationKey"; }; }>, z.ZodObject<{ type: z.ZodLiteral<"unsigned">; }, "strict", z.ZodTypeAny, { type: "unsigned"; }, { type: "unsigned"; }>]>; metadata: z.ZodOptional>; credential: z.ZodUnion<[z.ZodObject<{ owner: z.ZodObject<{ _type: z.ZodLiteral<"PublicKey">; value: z.ZodString; }, "strict", z.ZodTypeAny, { value: string; _type: "PublicKey"; }, { value: string; _type: "PublicKey"; }>; data: z.ZodRecord, z.ZodObject<{ value: z.ZodType; }, "strip", z.ZodTypeAny, { value: Json; }, { value: Json; }>>, z.ZodString, z.ZodNumber, z.ZodBoolean]>>; }, "strict", z.ZodTypeAny, { data: Record; owner: { value: string; _type: "PublicKey"; }; }, { data: Record; owner: { value: string; _type: "PublicKey"; }; }>, z.ZodObject<{ _type: z.ZodLiteral<"Struct">; properties: z.ZodObject<{ owner: z.ZodObject<{ _type: z.ZodLiteral<"PublicKey">; }, "strict", z.ZodTypeAny, { _type: "PublicKey"; }, { _type: "PublicKey"; }>; data: z.ZodType; }, "strip", z.ZodTypeAny, { data: SerializedNestedType; owner: { _type: "PublicKey"; }; }, { data: SerializedNestedType; owner: { _type: "PublicKey"; }; }>; value: z.ZodObject<{ owner: z.ZodObject<{ _type: z.ZodLiteral<"PublicKey">; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; _type: "PublicKey"; }, { value: string; _type: "PublicKey"; }>; data: z.ZodType; }, "strict", z.ZodTypeAny, { data: Json; owner: { value: string; _type: "PublicKey"; }; }, { data: Json; owner: { value: string; _type: "PublicKey"; }; }>; }, "strict", z.ZodTypeAny, { value: { data: Json; owner: { value: string; _type: "PublicKey"; }; }; _type: "Struct"; properties: { data: SerializedNestedType; owner: { _type: "PublicKey"; }; }; }, { value: { data: Json; owner: { value: string; _type: "PublicKey"; }; }; _type: "Struct"; properties: { data: SerializedNestedType; owner: { _type: "PublicKey"; }; }; }>]>; }, "strict", z.ZodTypeAny, { credential: { data: Record; owner: { value: string; _type: "PublicKey"; }; } | { value: { data: Json; owner: { value: string; _type: "PublicKey"; }; }; _type: "Struct"; properties: { data: SerializedNestedType; owner: { _type: "PublicKey"; }; }; }; witness: { type: "native"; issuer: { value: string; _type: "PublicKey"; }; issuerSignature: { value: { r: string; s: string; }; _type: "Signature"; }; } | { type: "imported"; proof: { value: { maxProofsVerified: number; proof: string; publicInput: Json; publicOutput: Json; }; _type: "Proof"; proof: { name: string; publicInput: SerializedType; publicOutput: SerializedType; maxProofsVerified: z.infer; featureFlags: z.infer; }; }; vk: { data: string; hash: { value: string; _type: "Field"; }; } | { value: { data: string; hash: string; }; _type: "VerificationKey"; }; } | { type: "unsigned"; }; version: "v0"; metadata?: Json | undefined; }, { credential: { data: Record; owner: { value: string; _type: "PublicKey"; }; } | { value: { data: Json; owner: { value: string; _type: "PublicKey"; }; }; _type: "Struct"; properties: { data: SerializedNestedType; owner: { _type: "PublicKey"; }; }; }; witness: { type: "native"; issuer: { value: string; _type: "PublicKey"; }; issuerSignature: { value: { r: string; s: string; }; _type: "Signature"; }; } | { type: "imported"; proof: { value: { maxProofsVerified: number; proof: string; publicInput: Json; publicOutput: Json; }; _type: "Proof"; proof: { name: string; publicInput: SerializedType; publicOutput: SerializedType; maxProofsVerified: z.infer; featureFlags: z.infer; }; }; vk: { data: string; hash: { value: string; _type: "Field"; }; } | { value: { data: string; hash: string; }; _type: "VerificationKey"; }; } | { type: "unsigned"; }; version: "v0"; metadata?: Json | undefined; }>; type StoredCredentialJSON = z.infer; declare const PresentationSchema: z.ZodObject<{ version: z.ZodLiteral<"v0">; claims: z.ZodRecord, z.ZodObject<{ value: z.ZodType; }, "strip", z.ZodTypeAny, { value: Json; }, { value: Json; }>>>; outputClaim: z.ZodIntersection, z.ZodObject<{ value: z.ZodType; }, "strip", z.ZodTypeAny, { value: Json; }, { value: Json; }>>; serverNonce: z.ZodObject<{ _type: z.ZodLiteral<"Field">; value: z.ZodString; }, "strict", z.ZodTypeAny, { value: string; _type: "Field"; }, { value: string; _type: "Field"; }>; clientNonce: z.ZodObject<{ _type: z.ZodLiteral<"Field">; value: z.ZodString; }, "strict", z.ZodTypeAny, { value: string; _type: "Field"; }, { value: string; _type: "Field"; }>; proof: z.ZodObject<{ maxProofsVerified: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>]>; proof: z.ZodString; }, "strip", z.ZodTypeAny, { maxProofsVerified: 0 | 2 | 1; proof: string; }, { maxProofsVerified: 0 | 2 | 1; proof: string; }>; }, "strict", z.ZodTypeAny, { proof: { maxProofsVerified: 0 | 2 | 1; proof: string; }; outputClaim: SerializedType & { value: Json; }; serverNonce: { value: string; _type: "Field"; }; claims: Record; version: "v0"; clientNonce: { value: string; _type: "Field"; }; }, { proof: { maxProofsVerified: 0 | 2 | 1; proof: string; }; outputClaim: SerializedType & { value: Json; }; serverNonce: { value: string; _type: "Field"; }; claims: Record; version: "v0"; clientNonce: { value: string; _type: "Field"; }; }>; type PresentationJSON = z.infer;