import { MultiPayload, RelayParamsDefault } from "../shared-types.cjs"; import { NearTxInfo } from "../../shared-types.cjs"; import { ILogger } from "@defuse-protocol/internal-utils"; //#region src/intents/interfaces/intent-relayer.d.ts interface IIntentRelayer { /** * Publishes a single intent to the relayer. * @param params - The relay parameters including the signed multi-payload * @param ctx - Optional context with logger * @returns A ticket (typically an intent hash) for tracking the intent */ publishIntent(params: RelayParams, ctx?: { logger?: ILogger; }): Promise; /** * Publishes multiple intents atomically to the relayer. * All intents will be executed together or not at all. * @param params - Parameters including array of multi-payloads and quote hashes * @param ctx - Optional context with logger * @returns Array of tickets (typically intent hashes) for tracking the intents */ publishIntents(params: { multiPayloads: MultiPayload[]; quoteHashes: string[]; }, ctx?: { logger?: ILogger; }): Promise; /** * Waits for an intent to be settled on-chain. * @param ticket - The ticket returned from publishIntent * @param ctx - Optional context with logger and signal * @returns Transaction information once settled */ waitForSettlement(ticket: Ticket, ctx?: { logger?: ILogger; signal?: AbortSignal; }): Promise<{ tx: NearTxInfo; }>; } //#endregion export { IIntentRelayer };