import { Infer } from 'superstruct'; export declare const ATOMIC_TYPES: string[]; /** * Checks if a type is valid with the given `typedData`. The following types are valid: * - Atomic types: felt, felt* * - Reference types: struct type (e.g. SomeStruct) * * @param {Record} types * @param {string} type * @return {boolean} */ export declare const isValidType: (types: Record, type: string) => boolean; export declare const STARKNET_TYPE: import("superstruct").Struct<{ type: string; name: string; }, { name: import("superstruct").Struct; type: import("superstruct").Struct; }>; /** * A single type, as part of a struct. The `type` field can be any of the EIP-712 supported types. * * Note that the `uint` and `int` aliases like in Solidity, and fixed point numbers are not supported by the EIP-712 * standard. */ export declare type StarkNetType = Infer; export declare const STARKNET_DOMAIN_TYPE: import("superstruct").Struct<{ name?: string | undefined; version?: string | undefined; chainId?: string | number | undefined; }, { name: import("superstruct").Struct; version: import("superstruct").Struct; chainId: import("superstruct").Struct; }>; /** * The EIP712 domain struct. Any of these fields are optional, but it must contain at least one field. */ export declare type StarkNetDomain = Infer; export declare const STARKNET_TYPED_DATA_TYPE: import("superstruct").Struct<{ types: { StarkNetDomain: { type: string; name: string; }[]; } & Record; primaryType: string; domain: { name?: string | undefined; version?: string | undefined; chainId?: string | number | undefined; }; message: Record; }, { types: import("superstruct").Struct<{ StarkNetDomain: { type: string; name: string; }[]; } & Record, null>; primaryType: import("superstruct").Struct; domain: import("superstruct").Struct<{ name?: string | undefined; version?: string | undefined; chainId?: string | number | undefined; }, { name: import("superstruct").Struct; version: import("superstruct").Struct; chainId: import("superstruct").Struct; }>; message: import("superstruct").Struct, null>; }>; /** * The complete typed data, with all the structs, domain data, primary type of the message, and the message itself. */ export declare type TypedData = Infer;