import { type IRoutingPlan } from '../../common/routingPlan.js';
import { type ChainId } from '../../common/unames.js';
import { RouterBase } from '../routerBase.js';
import type { IEncodeOptions } from '../types.js';
import { type IPermitWithSignature } from './routerCommands.js';
import type { PartialRecord } from '../../common/typeUtils.js';
export declare class UniversalRouter extends RouterBase {
    constructor(_chainId: ChainId, _routerAddress: string, _tokenProxyAddress?: string);
    encode(routingPlan: IRoutingPlan, options: IEncodeOptions & {
        inputTokenPermit?: IPermitWithSignature;
    }): string;
}
export declare const universalRouterByChainId: PartialRecord<ChainId, UniversalRouter>;
