interface TypedDataField { name: string; type: string; } type TypedDataTypes = Record; type FieldEncoder = (value: any) => string; export declare const keccak: (bytes: Uint8Array) => Uint8Array; export declare function abiEncode(types: string[], values: any[]): string; export declare class TypedDataEncoder { types: TypedDataTypes; primaryType: string; fullTypes: Record; encoderCache: Record; constructor(types: TypedDataTypes); static from(types: TypedDataTypes): TypedDataEncoder; encodeType(name: string): string; private buildEncoder; getEncoder(type: string): FieldEncoder; encodeData(type: string, value: any): string; hashStruct(name: string, value: any): string; static hashDomain(domain: Record): string; static encode(domain: Record, types: TypedDataTypes, value: Record): string; } export {};