import { BigNumber } from "@ethersproject/bignumber"; import { SignatureLike, SignatureTuple } from "../util/index.js"; export declare class FieldError extends Error { constructor(ty: FieldType, name: string, value: any); } export interface FieldType { canonicalize(value: any): any; emptyValue(): any; } export interface FieldTypes { [name: string]: FieldType; } export interface Fields { [name: string]: any; } export declare const FieldTypeAddress: { canonicalize(value: any): string; emptyValue(): string; }; export declare const FieldTypeBytes: { canonicalize(value: any): string; emptyValue(): string; }; export declare class FieldTypeNumberBits implements FieldType { maxBits: number; maxBN: BigNumber; constructor(maxBits?: number); canonicalize(value: any): string; emptyValue(): string; } export declare const FieldTypeUint8: FieldTypeNumberBits; export declare const FieldTypeUint32: FieldTypeNumberBits; export declare const FieldTypeUint64: FieldTypeNumberBits; export declare const FieldTypeUint256: FieldTypeNumberBits; export declare const FieldTypeBool: { canonicalize(value: any): string; emptyValue(): string; }; export declare const FieldTypeSignatureTuples: { canonicalize(value: SignatureLike[]): SignatureTuple[]; emptyValue(): SignatureTuple[]; };