import { Address, Hex } from 'viem'; export declare function generateOrderSalt(): bigint; export declare const OTC_TRADE_REQ_TYPES: readonly [{ readonly name: "marketId"; readonly type: "uint24"; }, { readonly name: "signedSize"; readonly type: "int128"; }, { readonly name: "rate"; readonly type: "int128"; }, { readonly name: "maker"; readonly type: "address"; }, { readonly name: "taker"; readonly type: "address"; }, { readonly name: "salt"; readonly type: "uint256"; }]; export declare const ACCEPT_OTC_FULL_MESSAGE_TYPES: readonly [{ readonly name: "trade"; readonly type: "OTCTradeReq"; }, { readonly name: "accountId"; readonly type: "uint8"; }, { readonly name: "cross"; readonly type: "bool"; }, { readonly name: "expiry"; readonly type: "uint64"; }]; export declare const EXECUTE_OTC_TRADE_MESSAGE_TYPES: readonly [{ readonly name: "makerMsgHash"; readonly type: "bytes32"; }, { readonly name: "takerMsgHash"; readonly type: "bytes32"; }, { readonly name: "expiry"; readonly type: "uint64"; }]; export interface OTCTradeReq { marketId: number; signedSize: bigint; rate: bigint; maker: Address; taker: Address; salt?: bigint; } export interface AcceptOTCFullMessage { trade: OTCTradeReq; accountId: number; cross: boolean; expiry: bigint; } export interface ExecuteOTCTradeMessage { makerMsgHash: Hex; takerMsgHash: Hex; expiry: bigint; } export declare function hashAcceptOTCFullMessage(message: AcceptOTCFullMessage, routerAddress?: Address): Hex; export declare const CANCEL_OTC_TRADE_MESSAGE_TYPES: readonly [{ readonly name: "tradeId"; readonly type: "bytes32"; }]; export interface CancelOTCTradeMessage { tradeId: Hex; } export declare function signAcceptOTCFullMessageWithAgent(params: { trade: OTCTradeReq; accountId: number; cross: boolean; expiry: bigint; }): Promise<{ agent: Address; signature: Hex; }>; export declare function signCancelOTCTradeMessageWithAgent(params: { tradeId: Hex; }): Promise<{ agent: Address; signature: Hex; }>;