import { type Hex } from 'viem'; import type { IntentOp, IntentOpElement } from '../orchestrator/types'; declare const SCOPE_MULTICHAIN = 0; declare const RESET_PERIOD_ONE_WEEK = 6; declare const COMPACT_ADDRESS = "0x00000000000000171ede64904551eeDF3C6C9788"; declare function getCompactTypedData(intentOp: IntentOp): { readonly domain: { readonly name: "The Compact"; readonly version: "1"; readonly chainId: number; readonly verifyingContract: "0x73d2dc0c21fca4ec1601895d50df7f5624f07d3f"; }; readonly types: { readonly MultichainCompact: readonly [{ readonly name: "sponsor"; readonly type: "address"; }, { readonly name: "nonce"; readonly type: "uint256"; }, { readonly name: "expires"; readonly type: "uint256"; }, { readonly name: "elements"; readonly type: "Element[]"; }]; readonly Element: readonly [{ readonly name: "arbiter"; readonly type: "address"; }, { readonly name: "chainId"; readonly type: "uint256"; }, { readonly name: "commitments"; readonly type: "Lock[]"; }, { readonly name: "mandate"; readonly type: "Mandate"; }]; readonly Lock: readonly [{ readonly name: "lockTag"; readonly type: "bytes12"; }, { readonly name: "token"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint256"; }]; readonly Mandate: readonly [{ readonly name: "target"; readonly type: "Target"; }, { readonly name: "minGas"; readonly type: "uint128"; }, { readonly name: "originOps"; readonly type: "Op"; }, { readonly name: "destOps"; readonly type: "Op"; }, { readonly name: "q"; readonly type: "bytes32"; }]; readonly Target: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "tokenOut"; readonly type: "Token[]"; }, { readonly name: "targetChain"; readonly type: "uint256"; }, { readonly name: "fillExpiry"; readonly type: "uint256"; }]; readonly Token: readonly [{ readonly name: "token"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint256"; }]; readonly Op: readonly [{ readonly name: "vt"; readonly type: "bytes32"; }, { readonly name: "ops"; readonly type: "Ops[]"; }]; readonly Ops: readonly [{ readonly name: "to"; readonly type: "address"; }, { readonly name: "value"; readonly type: "uint256"; }, { readonly name: "data"; readonly type: "bytes"; }]; }; readonly primaryType: "MultichainCompact"; readonly message: { readonly sponsor: `0x${string}`; readonly nonce: bigint; readonly expires: bigint; readonly elements: { arbiter: `0x${string}`; chainId: bigint; commitments: { lockTag: `0x${string}`; token: `0x${string}`; amount: bigint; }[]; mandate: { target: { recipient: `0x${string}`; tokenOut: { token: `0x${string}`; amount: bigint; }[]; targetChain: bigint; fillExpiry: bigint; }; minGas: bigint; originOps: import("../orchestrator/types").Op; destOps: import("../orchestrator/types").Op; q: `0x${string}`; }; }[]; }; }; /** * Get the compact digest for signing * @param intentOp The intent operation * @returns The digest hash */ declare function getCompactDigest(intentOp: IntentOp): Hex; /** * Get the Permit2 digest for signing * @param intentOp The intent operation * @returns The digest hash */ declare function getPermit2Digest(element: IntentOpElement, nonce: bigint, expires: bigint): Hex; export { SCOPE_MULTICHAIN, RESET_PERIOD_ONE_WEEK, COMPACT_ADDRESS, getCompactTypedData, getCompactDigest, getPermit2Digest, }; //# sourceMappingURL=compact.d.ts.map