import { ProtocolBlockExplorer } from '../../utils/ProtocolBlockExplorer';
import { NetworkType, ProtocolNetwork } from '../../utils/ProtocolNetwork';
import { ProtocolOptions } from '../../utils/ProtocolOptions';
export declare class GroestlcoinProtocolNetworkExtras {
    readonly indexerApi: string;
    readonly network: any;
    constructor(indexerApi?: string, network?: any);
}
export declare class CryptoidBlockExplorer implements ProtocolBlockExplorer {
    readonly blockExplorer: string;
    constructor(blockExplorer?: string);
    getAddressLink(address: string): Promise<string>;
    getTransactionLink(transactionId: string): Promise<string>;
}
export declare class GroestlcoinProtocolNetwork extends ProtocolNetwork<GroestlcoinProtocolNetworkExtras> {
    constructor(name?: string, type?: NetworkType, rpcUrl?: string, blockExplorer?: ProtocolBlockExplorer, extras?: GroestlcoinProtocolNetworkExtras);
}
export declare class GroestlcoinProtocolConfig {
    readonly bitcoinJSLib: any;
    constructor(bitcoinJSLib?: any);
}
export declare class GroestlcoinProtocolOptions implements ProtocolOptions<GroestlcoinProtocolConfig> {
    readonly network: GroestlcoinProtocolNetwork;
    readonly config: GroestlcoinProtocolConfig;
    constructor(network?: GroestlcoinProtocolNetwork, config?: GroestlcoinProtocolConfig);
}
