import { ITokenRepository } from '../../../domain/repositories/token-repository';
import { INetworkRepository } from '../../../domain/repositories/network-repository';
import { ILogger } from '../../../application/ports/logger';
import { CoinMarketCapClient } from '../../../infrastructure/external/coinmarketcap-client';
import { CreateTokenInput } from '../../dto/admin-token.dto';
export interface FetchTokenDataInput {
    networkId: string;
    contractAddress?: string | null;
    cmcId?: number | null;
}
export declare class FetchTokenDataUseCase {
    private readonly networkRepository;
    private readonly tokenRepository;
    private readonly coinMarketCapClient;
    private readonly logger;
    constructor(networkRepository: INetworkRepository, tokenRepository: ITokenRepository, coinMarketCapClient: CoinMarketCapClient, logger: ILogger);
    execute(input: FetchTokenDataInput): Promise<CreateTokenInput>;
    private fetchByContractAddress;
    private fetchByCmcId;
    private matchesNetworkName;
}
//# sourceMappingURL=fetch-token-data.use-case.d.ts.map