import type { TypedDataDomain, TypedDataField } from 'ethers'; import type { EnvelopingRequest } from './common/relayRequest.types'; export declare const relayDataType: { name: string; type: string; }[]; export declare const relayRequestType: { name: string; type: string; }[]; export declare const deployRequestType: { name: string; type: string; }[]; export declare function getDomainSeparator(verifyingContract: string, chainId: number): TypedDataDomain; declare type GetRequestDataFieldProps = { chainId: number; verifier: string; envelopingRequest: EnvelopingRequest; requestTypes: TypedDataField[]; }; export declare type EnvelopingMessageTypes = { RelayRequest: TypedDataField[]; RelayData: TypedDataField[]; }; export declare type TypedMessage = { types: T; primaryType: keyof T; domain: TypedDataDomain; value: Record; }; export declare const getEnvelopingRequestDataV4Field: ({ chainId, verifier, envelopingRequest, requestTypes, }: GetRequestDataFieldProps) => TypedMessage; export {};