import { Token } from '../config/tokens'; import { Chain, TransactionId, TokenId, Network, Signer, routes, amount as sdkAmount } from '@wormhole-foundation/sdk'; import { default as SDKv2Route } from './sdkv2/route'; import { QuoteMetadata } from './types'; export interface TxInfo { route: string; receipt: routes.Receipt; } export type QuoteResult = routes.QuoteResult; type forEachCallback = (name: string, route: SDKv2Route) => T; export declare const DEFAULT_ROUTES: (typeof routes.AutomaticCCTPRoute | typeof routes.CCTPRoute | typeof routes.AutomaticTokenBridgeRoute | typeof routes.TokenBridgeRoute | typeof routes.TBTCRoute)[]; export interface QuoteParams { sourceChain: Chain; sourceToken: Token; destChain: Chain; destToken: Token; amount: sdkAmount.Amount; nativeGas: number; sender?: string; recipient?: string; } export default class RouteOperator { preference: string[]; routes: Record; quoteMetadataCache: QuoteMetadataCache; constructor(routesConfig?: routes.RouteConstructor[]); get(name: string): SDKv2Route; forEach(callback: forEachCallback): Promise; resumeFromTx(tx: TransactionId): Promise; allSupportedChains(): Chain[]; allSupportedDestTokens(sourceToken: Token | undefined, sourceChain: Chain, destChain: Chain): Promise; getQuotes(routes: string[], params: QuoteParams): Promise>; isSameChainSwapSupported: (chain: Chain) => boolean; execute(routeName: string, sourceToken: Token, amount: sdkAmount.Amount, sourceChain: Chain, signer: Signer, destChain: Chain, senderAddress: string, recipientAddress: string, destToken: Token, options: routes.AutomaticTokenBridgeRoute.Options): Promise<[routes.Route<"Mainnet" | "Testnet" | "Devnet", routes.Options, routes.ValidatedTransferParams, routes.Receipt>, routes.Receipt]>; } declare class QuoteMetadataCache { cache: Record; pending: Record; constructor(); quoteParamsKey(routeName: string, params: QuoteParams): string; get(routeName: string, params: QuoteParams): QuoteMetadata | null; fetchQuote(routeName: string, params: QuoteParams, route: SDKv2Route): Promise; nextExpiry(routes: string[], params: QuoteParams): Date | undefined; } interface QuotePromiseHandlers { resolve: (quote: QuoteResult) => void; reject: (err: Error) => void; } declare class QuoteMetadataEntry { quote: QuoteResult; timestamp: Date; routeInstance: routes.Route; request: routes.RouteTransferRequest; constructor(quote: QuoteResult, routeInstance: routes.Route, request: routes.RouteTransferRequest); expires(): Date; ttl(): number; } export {}; //# sourceMappingURL=operator.d.ts.map