///
import { EIP712Message, EIP712MessageTypesEntry, MessageFilters } from "./EIP712.types";
/**
* @ignore for the README
*
* A Map of helpers to get the id and size to return for each
* type that can be used in EIP712
*/
export declare const EIP712_TYPE_PROPERTIES: Record number;
sizeInBits: (size?: number) => number | null;
}>;
/**
* @ignore for the README
*
* A Map of encoders to transform a value to formatted buffer
*/
export declare const EIP712_TYPE_ENCODERS: {
INT(value: string | null, sizeInBits?: number): Buffer;
UINT(value: string): Buffer;
BOOL(value: number | string | boolean | null): Buffer;
ADDRESS(value: string | null): Buffer;
STRING(value: string | null): Buffer;
BYTES(value: string | null, sizeInBits?: number | undefined): Buffer;
};
/**
* @ignore for the README
*
* Helper parsing an EIP712 Type name to return its type and size(s)
* if it's an array or nested arrays
*
* @see EIP712MessageTypes
*
* @example "uint8[2][][4]" => [{name: "uint", bits: 8}, [2, null, 4]]
* @example "bool" => [{name: "bool", bits: null}, []]
*
* @param {String} typeName
* @returns {[{ name: string; bits: Number | null }, Array]}
*/
export declare const destructTypeFromString: (typeName?: string | undefined) => [{
name: string;
bits: number | undefined;
} | null, (number | null)[]];
/**
* @ignore for the README
*
* Helper to construct the hexadecimal ByteString for the description
* of a field in an EIP712 Message
*
* @param isArray
* @param typeSize
* @param typeValue
* @returns {String} HexByteString
*/
export declare const constructTypeDescByteString: (isArray: boolean, typeSize: number | null | undefined, typeValue: number) => string;
/**
* @ignore for the README
*
* Helper to create the buffer to describe an EIP712 types' entry structure
*
* @param {EIP712MessageTypesEntry} entry
* @returns {Buffer}
*/
export declare const makeTypeEntryStructBuffer: ({ name, type, }: EIP712MessageTypesEntry) => Buffer;
export declare function isEIP712Message(message: Record | string): message is EIP712Message;
export declare const sortObjectAlphabetically: (obj: Record) => Record;
export declare const getSchemaHashForMessage: (message: EIP712Message) => string;
/**
* @ignore for the README
*
* Tries to find the proper filters for a given EIP712 message
* in the CAL
*
* @param {EIP712Message} message
* @returns {MessageFilters | undefined}
*/
export declare const getFiltersForMessage: (message: EIP712Message, remoteCryptoAssetsListURI?: string | null | undefined) => Promise;
//# sourceMappingURL=EIP712.utils.d.ts.map