import { ethers } from 'ethers';
import { FizzNode, FizzParams, FizzLease, Resource, FizzAttribute, FizzDetails, FizzStatusResponse } from './types';
import { NetworkType, RpcUrls } from '@config/index';
export declare class FizzModule {
    private provider;
    private timeoutId;
    private wallet;
    private providerModule;
    private networkType;
    private rpcUrls;
    constructor(provider: ethers.Provider, wallet?: ethers.Wallet, networkType?: NetworkType, rpcUrls?: RpcUrls);
    addFizzNode(fizzParams: FizzParams): Promise<unknown>;
    updateFizzName(newName: string): Promise<unknown>;
    getFizzById(fizzId: bigint): Promise<FizzDetails>;
    getFizzNodeByAddress(walletAddress: string): Promise<FizzNode>;
    getTotalFizzNodes(): Promise<bigint>;
    getAllFizzNodes(): Promise<FizzNode[]>;
    getActiveFizzNodes(providerProxyUrl: string, timeout?: number): Promise<FizzStatusResponse[]>;
    getAttributes(providerAddress: string, category: string): Promise<FizzAttribute[]>;
    getPendingAttributes(providerAddress: string, category: string): Promise<FizzAttribute[]>;
    getResource(resourceID: bigint, category: string): Promise<Resource>;
    getFizzLeases(fizzId: bigint, providerId: bigint, state?: string): Promise<FizzLease[] | unknown>;
    listenToFizzCreated(onSuccessCallback: (fizzId: bigint, walletAddress: string) => void, onFailureCallback: () => void, timeoutTime?: number): Promise<unknown>;
    updateFizzSpecs(specs: string): Promise<any>;
    listenSpecUpdated(onSuccessCallback: (fizzId: bigint, specs: string, walletAddress: string) => void, onFailureCallback: () => void, timeoutTime?: number): Promise<unknown>;
    updateFizzRegion(region: string): Promise<any>;
    listenRegionUpdated(onSuccessCallback: (fizzId: bigint, region: string, walletAddress: string) => void, onFailureCallback: () => void, timeoutTime?: number): Promise<unknown>;
    updateFizzProvider(providerId: bigint): Promise<any>;
    listenProviderUpdated(onSuccessCallback: (fizzId: bigint, providerId: bigint, walletAddress: string) => void, onFailureCallback: () => void, timeoutTime?: number): Promise<unknown>;
    addAcceptedPayment(tokenAddress: string): Promise<any>;
    listenToAddAcceptedPayment(onSuccessCallback: (fizzId: bigint, tokenAddress: string, walletAddress: string) => void, onFailureCallback: () => void, timeoutTime?: number): Promise<unknown>;
    removeAcceptedPayment(tokenAddress: string): Promise<any>;
    listenToRemoveAcceptedPayment(onSuccessCallback: (fizzId: bigint, tokenAddress: string, walletAddress: string) => void, onFailureCallback: () => void, timeoutTime?: number): Promise<unknown>;
}
//# sourceMappingURL=index.d.ts.map