import * as common from '@protocolink/common'; import * as core from '@protocolink/core'; export type SwapTokenLogicTokenList = { srcToken: common.Token; destTokenLists: { chainId: number; tokens: common.Token[]; }[]; }[]; export type SwapTokenLogicParams = core.TokenToTokenExactInParams<{ receiver: string; slippage?: number; }>; export type SwapTokenLogicFields = core.TokenToTokenExactInFields<{ receiver: string; fee: string; slippage?: number; }>; export type SwapTokenLogicOptions = Pick; export declare class SwapTokenLogic extends core.Logic implements core.LogicBuilderInterface { static id: string; static protocolId: string; static readonly supportedChainIds: number[]; getTokenList(): Promise; quote(params: SwapTokenLogicParams): Promise<{ input: common.TokenAmount; output: common.TokenAmount; fee: string; feeBps: number; receiver: string; slippage: number | undefined; }>; build(fields: SwapTokenLogicFields, options: SwapTokenLogicOptions): Promise<{ to: string; data: string; inputs: core.DataType.InputStruct[]; wrapMode: number; approveTo: string; callback: string; }>; }