import { type Hex } from 'viem'; export type SideEnum = 'long' | 'short' | 'LONG' | 'SHORT' | 0 | 1; /** All fields optional. Missing = skip; present = must match. *Min/*Max are inclusive ranges. */ export interface IntentExpectation { /** 4-byte selector lowercase. REQUIRED — verifier dispatches on this. */ selector: string; cross?: boolean; /** bytes26 packed (root|accId|tokenId|marketId). If passed, marketId is unpacked + checked. */ marketAcc?: Hex; /** Direct uint24. If both marketAcc and marketId are set, they must agree. */ marketId?: number; side?: SideEnum; tif?: number; sizeAbs?: bigint; sizeMin?: bigint; sizeMax?: bigint; tickExact?: number; tickMin?: number; tickMax?: number; /** uint24. Orderbook-only flows = 0. */ ammId?: number; /** calldata's orderIds[] must be a SUBSET of this set. */ orderIdsSubset?: bigint[]; signedAmountExact?: bigint; signedAmountMin?: bigint; signedAmountMax?: bigint; amountExact?: bigint; amountMin?: bigint; amountMax?: bigint; isEnter?: boolean; /** marketIds[] must equal this set (order-insensitive). */ marketIdsSet?: number[]; } /** * Verify a calldata against caller's expected intent. Throws (INVALID_PARAMS) on mismatch. * Still a no-op for swapWithAmm / *Dual* liquidity ops (selector-only via assertCalldatasAllowed). */ export declare function verifyCalldataIntent(calldata: Hex, expect: IntentExpectation): void; export declare function demo(): void; //# sourceMappingURL=calldata-verify.d.ts.map