import { EvmBaseProtocol, EvmBaseProtocolImpl, EvmBaseProtocolOptions, EvmProtocolNetwork, EvmProtocolOptions, EthNodeClient } from '@airgap/evm';
import { AirGapTransactionsWithCursor, ProtocolUnitsMetadata, RecursivePartial } from '@airgap/module-kit';
import { EtherlinkInfoClient, EtherlinkInfoClientTransactionsResult, EtherlinkTransactionCursor } from '../clients/EtherlinkInfoClient';
export declare const ETHERLINK_PROTOCOL_NETWORK: EvmProtocolNetwork;
export declare type EtherlinkUnits = 'Ctez';
export interface EtherlinkProtocol extends EvmBaseProtocol<EtherlinkTransactionCursor, EtherlinkUnits> {
}
export interface EtherlinkProtocolOptions extends EvmBaseProtocolOptions<EtherlinkUnits> {
}
export declare const DEFAULT_ETHERLINK_UNITS_METADATA: ProtocolUnitsMetadata<EtherlinkUnits>;
export declare class EtherlinkBaseProtocolImpl extends EvmBaseProtocolImpl<EtherlinkTransactionCursor, EtherlinkInfoClientTransactionsResult, EtherlinkInfoClient, EtherlinkUnits> implements EtherlinkProtocol {
    constructor(nodeClient: EthNodeClient, infoClient: EtherlinkInfoClient, options: EvmProtocolOptions & Partial<EtherlinkProtocolOptions>);
    getTransactionsForAddresses(addresses: string[], limit: number, cursor?: EtherlinkTransactionCursor | undefined): Promise<AirGapTransactionsWithCursor<EtherlinkTransactionCursor, EtherlinkUnits, EtherlinkUnits>>;
}
export declare class EtherlinkProtocolImpl extends EtherlinkBaseProtocolImpl implements EtherlinkProtocol {
    constructor(options?: RecursivePartial<EvmProtocolOptions>);
}
export declare function createEtherlinkProtocolOptions(network?: Partial<EvmProtocolNetwork>): EvmProtocolOptions;
