import type { CreateCrossChainOrderParams } from '../core/orders/cross-chain.js'; import type { CreateDcaSingleChainOrderParams } from '../core/orders/dca-single-chain.js'; import type { CreateSingleChainOrderParams } from '../core/orders/single-chain.js'; import type { IChainValidator } from './order-validator.js'; /** * BaseValidator - Abstract class implementing common validation logic * This follows the Template Method pattern */ export declare abstract class BaseValidator implements IChainValidator { abstract isValidAddress(address: string): boolean; abstract isValidTokenAddress(tokenAddress: string): boolean; abstract isValidAmount(amount: bigint): boolean; protected abstract getChainName(): string; abstract validateCrossChainOrderFeasability(order: CreateCrossChainOrderParams & { user: string; }): Promise; abstract validateSingleChainOrderFeasability(order: CreateSingleChainOrderParams & { user: string; }): Promise; /** * Validate source chain specific parameters of the order */ validateSourceChain(order: CreateCrossChainOrderParams & { user: string; }): Promise; validateSingleChainOrder(order: CreateSingleChainOrderParams & { user: string; }): Promise; /** * Validate destination chain specific parameters of the order */ validateDestinationChain(order: CreateCrossChainOrderParams): void; abstract validateDcaSingleChainOrderFeasability(order: CreateDcaSingleChainOrderParams & { user: string; }): Promise; validateDcaSingleChainOrder(order: CreateDcaSingleChainOrderParams & { user: string; }): Promise; /** * Helper methods that throw specific validation errors */ protected validateAddress(address: string): void; protected validateTokenAddress(tokenAddress: string): void; protected validateAmount(amount: bigint): void; } //# sourceMappingURL=base-validator.d.ts.map