import { Protocol, type EthereumBridgeProtocol, type SolanaBridgeProtocol } from "../../types/bridge/protocol.js"; import { ExternalChain } from "../../types/bridge/external-chain.js"; import type { Address, EthereumAddress, ExternalAddress, SolanaAddress, Token } from "../../types/index.js"; export interface BridgeTokenParams { id: string; name: string; symbol: string; decimals: number; coingeckoId?: string; protocol: Protocol; address: A; l1Bridge: A; starknetAddress: Address; starknetBridge: Address; } export declare abstract class BridgeToken { readonly id: string; readonly name: string; readonly symbol: string; readonly coingeckoId?: string; readonly decimals: number; readonly address: A; readonly bridgeAddress: A; readonly starknetAddress: Address; readonly starknetBridge: Address; abstract readonly protocol: Protocol; abstract readonly chain: ExternalChain; protected constructor(params: BridgeTokenParams); intoStarknetToken(): Token; } export interface EthereumBridgeTokenParams extends BridgeTokenParams { protocol: EthereumBridgeProtocol; supportsAutoWithdraw: boolean; } export declare class EthereumBridgeToken extends BridgeToken { readonly chain: ExternalChain; readonly protocol: EthereumBridgeProtocol; readonly supportsAutoWithdraw: boolean; constructor(params: EthereumBridgeTokenParams); } export interface SolanaBridgeTokenParams extends BridgeTokenParams { protocol: Protocol.HYPERLANE; } export declare class SolanaBridgeToken extends BridgeToken { readonly chain: ExternalChain; readonly protocol: SolanaBridgeProtocol; constructor(params: SolanaBridgeTokenParams); } //# sourceMappingURL=bridge-token.d.ts.map