import { AbiParameter } from '@theqrl/web3-types'; import { ZodIssueBase } from 'zod'; export type ValidInputTypes = Uint8Array | bigint | string | number | boolean; export type QRLBaseTypes = 'bool' | 'bytes' | 'string' | 'uint' | 'int' | 'address' | 'tuple'; export type QRLBaseTypesWithMeta = `string${string}` | `string${string}[${number}]` | `bytes${string}` | `bytes${string}[${number}]` | `address[${number}]` | `bool[${number}]` | `int${string}` | `int${string}[${number}]` | `uint${string}` | `uint${string}[${number}]` | `tuple[]` | `tuple[${number}]`; export type QRLExtendedTypes = 'hex' | 'number' | 'blockNumber' | 'blockNumberOrTag' | 'filter' | 'bloom'; export type FullValidationSchema = ReadonlyArray; export type ShortValidationSchema = ReadonlyArray; export type ValidationSchemaInput = FullValidationSchema | ShortValidationSchema; export type Web3ValidationOptions = { readonly silent: boolean; }; export type Json = string | number | boolean | Array | { [id: string]: Json; }; export type ValidationError = ZodIssueBase; export interface Validate { (value: Json): boolean; errors?: ValidationError[]; } export type Schema = { $schema?: string; $vocabulary?: string; id?: string; $id?: string; $anchor?: string; $ref?: string; definitions?: { [id: string]: Schema; }; $defs?: { [id: string]: Schema; }; $recursiveRef?: string; $recursiveAnchor?: boolean; type?: string | Array; required?: Array | boolean; default?: Json; enum?: Array; const?: Json; not?: Schema; allOf?: Array; anyOf?: Array; oneOf?: Array; if?: Schema; then?: Schema; else?: Schema; maximum?: number; minimum?: number; exclusiveMaximum?: number | boolean; exclusiveMinimum?: number | boolean; multipleOf?: number; divisibleBy?: number; maxItems?: number; minItems?: number; additionalItems?: Schema; contains?: Schema; minContains?: number; maxContains?: number; uniqueItems?: boolean; maxLength?: number; minLength?: number; format?: string; pattern?: string; contentEncoding?: string; contentMediaType?: string; contentSchema?: Schema; properties?: { [id: string]: Schema; }; maxProperties?: number; minProperties?: number; additionalProperties?: Schema; patternProperties?: { [pattern: string]: Schema; }; propertyNames?: Schema; dependencies?: { [id: string]: Array | Schema; }; dependentRequired?: { [id: string]: Array; }; dependentSchemas?: { [id: string]: Schema; }; unevaluatedProperties?: Schema; unevaluatedItems?: Schema; title?: string; description?: string; deprecated?: boolean; readOnly?: boolean; writeOnly?: boolean; examples?: Array; $comment?: string; discriminator?: { propertyName: string; mapping?: { [value: string]: string; }; }; readonly eth?: string; items?: Schema | Schema[]; }; export type JsonSchema = Schema;