import { TypedDataDomain, TypedDataField } from "@ethersproject/abstract-signer"; export declare class TypedDataEncoder { readonly primaryType: string; readonly types: Record>; readonly _encoderCache: Record string>; readonly _types: Record; constructor(types: Record>); getEncoder(type: string): (value: any) => string; _getEncoder(type: string): (value: any) => string; encodeType(name: string): string; encodeData(type: string, value: any): string; hashStruct(name: string, value: Record): string; encode(value: Record): string; hash(value: Record): string; _visit(type: string, value: any, callback: (type: string, data: any) => any): any; visit(value: Record, callback: (type: string, data: any) => any): any; static from(types: Record>): TypedDataEncoder; static getPrimaryType(types: Record>): string; static hashStruct(name: string, types: Record>, value: Record): string; static hashDomain(domain: TypedDataDomain): string; static encode(domain: TypedDataDomain, types: Record>, value: Record): string; static hash(domain: TypedDataDomain, types: Record>, value: Record): string; static resolveNames(domain: TypedDataDomain, types: Record>, value: Record, resolveName: (name: string) => Promise): Promise<{ domain: TypedDataDomain; value: any; }>; static getPayload(domain: TypedDataDomain, types: Record>, value: Record): any; } //# sourceMappingURL=typed-data.d.ts.map