import { ProtocolBlockExplorer } from '../../utils/ProtocolBlockExplorer';
import { NetworkType, ProtocolNetwork } from '../../utils/ProtocolNetwork';
import { ProtocolOptions } from '../../utils/ProtocolOptions';
import { TezosNetwork } from './TezosProtocol';
export declare class TezosProtocolNetworkExtras {
    readonly network: TezosNetwork;
    readonly conseilUrl: string;
    readonly conseilNetwork: TezosNetwork;
    readonly conseilApiKey: string;
    constructor(network?: TezosNetwork, conseilUrl?: string, conseilNetwork?: TezosNetwork, conseilApiKey?: string);
}
export declare class TezblockBlockExplorer implements ProtocolBlockExplorer {
    readonly blockExplorer: string;
    constructor(blockExplorer?: string);
    getAddressLink(address: string): Promise<string>;
    getTransactionLink(transactionId: string): Promise<string>;
}
export declare class TezosProtocolNetwork extends ProtocolNetwork<TezosProtocolNetworkExtras> {
    constructor(name?: string, type?: NetworkType, rpcUrl?: string, blockExplorer?: ProtocolBlockExplorer, extras?: TezosProtocolNetworkExtras);
}
export declare class TezosProtocolConfig {
    constructor();
}
export declare class TezosProtocolOptions implements ProtocolOptions<TezosProtocolConfig> {
    readonly network: TezosProtocolNetwork;
    readonly config: TezosProtocolConfig;
    constructor(network?: TezosProtocolNetwork, config?: TezosProtocolConfig);
}
