import { type IRoutingPlan } from "../common/routingPlan.js";
import { type IEncodeOptions, type IResolvedEncodeOptions, type IRouter } from "./types.js";
export declare abstract class RouterBase implements IRouter {
    readonly name: string;
    readonly chainId: number;
    readonly routerAddress: string;
    readonly tokenProxyAddress: string;
    constructor(_name: string, _chainId: number, _routerAddress?: string | undefined, _tokenProxyAddress?: string | undefined);
    abstract encode(routingPlan: IRoutingPlan, options: IEncodeOptions): string;
}
export declare const resolveEncodeOptions: (routingPlan: IRoutingPlan, options: IEncodeOptions) => IResolvedEncodeOptions;
