import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers";
import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../../common";
export interface LogStoreNodeManagerInterface extends utils.Interface {
    functions: {
        "_generateStreamId(string)": FunctionFragment;
        "balanceOf(address)": FunctionFragment;
        "createStream(string,string,string)": FunctionFragment;
        "delegate(uint256,address)": FunctionFragment;
        "delegatesOf(address,address)": FunctionFragment;
        "deleteStream(string)": FunctionFragment;
        "getAllStreams()": FunctionFragment;
        "grantRole(uint8,address)": FunctionFragment;
        "headNode()": FunctionFragment;
        "initialize(address,bool,address,uint256,address,address[],string[],string[3][])": FunctionFragment;
        "isStaked(address)": FunctionFragment;
        "join(uint256,string)": FunctionFragment;
        "kickNode(address)": FunctionFragment;
        "leave()": FunctionFragment;
        "nodeAddresses()": FunctionFragment;
        "nodeStake(address)": FunctionFragment;
        "nodes(address)": FunctionFragment;
        "owner()": FunctionFragment;
        "processReport(string)": FunctionFragment;
        "proxiableUUID()": FunctionFragment;
        "registerQueryManager(address)": FunctionFragment;
        "registerReportManager(address)": FunctionFragment;
        "registerStoreManager(address)": FunctionFragment;
        "removeNode()": FunctionFragment;
        "removeNodeAdmin(address)": FunctionFragment;
        "renounceOwnership()": FunctionFragment;
        "renounceRole(address)": FunctionFragment;
        "requiresWhitelist()": FunctionFragment;
        "revokeRole(address)": FunctionFragment;
        "roles(address)": FunctionFragment;
        "setRequiresWhitelist(bool)": FunctionFragment;
        "stake(uint256)": FunctionFragment;
        "stakeAndDelegate(uint256,address)": FunctionFragment;
        "stakeRequiredAmount()": FunctionFragment;
        "stakeTokenAddress()": FunctionFragment;
        "startBlockNumber()": FunctionFragment;
        "streamExists(string)": FunctionFragment;
        "streamInformation(string)": FunctionFragment;
        "streams(uint256)": FunctionFragment;
        "supportsInterface(bytes4)": FunctionFragment;
        "tailNode()": FunctionFragment;
        "totalNodes()": FunctionFragment;
        "totalSupply()": FunctionFragment;
        "transferOwnership(address)": FunctionFragment;
        "treasurySupply()": FunctionFragment;
        "treasuryWithdraw(uint256)": FunctionFragment;
        "undelegate(uint256,address)": FunctionFragment;
        "undelegateWithdraw(uint256,address)": FunctionFragment;
        "upgradeTo(address)": FunctionFragment;
        "upgradeToAndCall(address,bytes)": FunctionFragment;
        "upsertNode(string)": FunctionFragment;
        "upsertNodeAdmin(address,string)": FunctionFragment;
        "whitelist(address)": FunctionFragment;
        "whitelistApproveNode(address)": FunctionFragment;
        "whitelistRejectNode(address)": FunctionFragment;
        "withdraw(uint256)": FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: "_generateStreamId" | "balanceOf" | "createStream" | "delegate" | "delegatesOf" | "deleteStream" | "getAllStreams" | "grantRole" | "headNode" | "initialize" | "isStaked" | "join" | "kickNode" | "leave" | "nodeAddresses" | "nodeStake" | "nodes" | "owner" | "processReport" | "proxiableUUID" | "registerQueryManager" | "registerReportManager" | "registerStoreManager" | "removeNode" | "removeNodeAdmin" | "renounceOwnership" | "renounceRole" | "requiresWhitelist" | "revokeRole" | "roles" | "setRequiresWhitelist" | "stake" | "stakeAndDelegate" | "stakeRequiredAmount" | "stakeTokenAddress" | "startBlockNumber" | "streamExists" | "streamInformation" | "streams" | "supportsInterface" | "tailNode" | "totalNodes" | "totalSupply" | "transferOwnership" | "treasurySupply" | "treasuryWithdraw" | "undelegate" | "undelegateWithdraw" | "upgradeTo" | "upgradeToAndCall" | "upsertNode" | "upsertNodeAdmin" | "whitelist" | "whitelistApproveNode" | "whitelistRejectNode" | "withdraw"): FunctionFragment;
    encodeFunctionData(functionFragment: "_generateStreamId", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "balanceOf", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "createStream", values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>
    ]): string;
    encodeFunctionData(functionFragment: "delegate", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "delegatesOf", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "deleteStream", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "getAllStreams", values?: undefined): string;
    encodeFunctionData(functionFragment: "grantRole", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "headNode", values?: undefined): string;
    encodeFunctionData(functionFragment: "initialize", values: [
        PromiseOrValue<string>,
        PromiseOrValue<boolean>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<string>,
        PromiseOrValue<string>[],
        PromiseOrValue<string>[],
        [
            PromiseOrValue<string>,
            PromiseOrValue<string>,
            PromiseOrValue<string>
        ][]
    ]): string;
    encodeFunctionData(functionFragment: "isStaked", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "join", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "kickNode", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "leave", values?: undefined): string;
    encodeFunctionData(functionFragment: "nodeAddresses", values?: undefined): string;
    encodeFunctionData(functionFragment: "nodeStake", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "nodes", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "owner", values?: undefined): string;
    encodeFunctionData(functionFragment: "processReport", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string;
    encodeFunctionData(functionFragment: "registerQueryManager", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "registerReportManager", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "registerStoreManager", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "removeNode", values?: undefined): string;
    encodeFunctionData(functionFragment: "removeNodeAdmin", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
    encodeFunctionData(functionFragment: "renounceRole", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "requiresWhitelist", values?: undefined): string;
    encodeFunctionData(functionFragment: "revokeRole", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "roles", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "setRequiresWhitelist", values: [PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: "stake", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "stakeAndDelegate", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "stakeRequiredAmount", values?: undefined): string;
    encodeFunctionData(functionFragment: "stakeTokenAddress", values?: undefined): string;
    encodeFunctionData(functionFragment: "startBlockNumber", values?: undefined): string;
    encodeFunctionData(functionFragment: "streamExists", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "streamInformation", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "streams", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "supportsInterface", values: [PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: "tailNode", values?: undefined): string;
    encodeFunctionData(functionFragment: "totalNodes", values?: undefined): string;
    encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string;
    encodeFunctionData(functionFragment: "transferOwnership", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "treasurySupply", values?: undefined): string;
    encodeFunctionData(functionFragment: "treasuryWithdraw", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "undelegate", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "undelegateWithdraw", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "upgradeTo", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "upgradeToAndCall", values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: "upsertNode", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "upsertNodeAdmin", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "whitelist", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "whitelistApproveNode", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "whitelistRejectNode", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "withdraw", values: [PromiseOrValue<BigNumberish>]): string;
    decodeFunctionResult(functionFragment: "_generateStreamId", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "createStream", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "delegatesOf", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "deleteStream", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getAllStreams", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "headNode", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isStaked", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "join", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "kickNode", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "leave", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "nodeAddresses", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "nodeStake", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "nodes", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "processReport", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "registerQueryManager", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "registerReportManager", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "registerStoreManager", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "removeNode", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "removeNodeAdmin", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "requiresWhitelist", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "roles", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setRequiresWhitelist", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stake", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stakeAndDelegate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stakeRequiredAmount", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stakeTokenAddress", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "startBlockNumber", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "streamExists", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "streamInformation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "streams", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "tailNode", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "totalNodes", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "treasurySupply", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "treasuryWithdraw", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "undelegateWithdraw", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "upsertNode", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "upsertNodeAdmin", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "whitelist", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "whitelistApproveNode", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "whitelistRejectNode", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result;
    events: {
        "AdminChanged(address,address)": EventFragment;
        "BeaconUpgraded(address)": EventFragment;
        "Initialized(uint8)": EventFragment;
        "NodeRemoved(address)": EventFragment;
        "NodeUpdated(address,string,bool,uint256)": EventFragment;
        "NodeWhitelistApproved(address)": EventFragment;
        "NodeWhitelistRejected(address)": EventFragment;
        "OwnershipTransferred(address,address)": EventFragment;
        "ReportProcessed(string)": EventFragment;
        "RequiresWhitelistChanged(bool)": EventFragment;
        "RoleGranted(uint8,address,address)": EventFragment;
        "RoleRevoked(uint8,address,address)": EventFragment;
        "StakeDelegateUpdated(address,address,uint256,uint256,uint256,bool)": EventFragment;
        "StreamAdded(string,string,string,string)": EventFragment;
        "StreamRemoved(string,string,string,string)": EventFragment;
        "Upgraded(address)": EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "NodeRemoved"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "NodeUpdated"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "NodeWhitelistApproved"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "NodeWhitelistRejected"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "ReportProcessed"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "RequiresWhitelistChanged"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "StakeDelegateUpdated"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "StreamAdded"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "StreamRemoved"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment;
}
export interface AdminChangedEventObject {
    previousAdmin: string;
    newAdmin: string;
}
export type AdminChangedEvent = TypedEvent<[
    string,
    string
], AdminChangedEventObject>;
export type AdminChangedEventFilter = TypedEventFilter<AdminChangedEvent>;
export interface BeaconUpgradedEventObject {
    beacon: string;
}
export type BeaconUpgradedEvent = TypedEvent<[
    string
], BeaconUpgradedEventObject>;
export type BeaconUpgradedEventFilter = TypedEventFilter<BeaconUpgradedEvent>;
export interface InitializedEventObject {
    version: number;
}
export type InitializedEvent = TypedEvent<[number], InitializedEventObject>;
export type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
export interface NodeRemovedEventObject {
    nodeAddress: string;
}
export type NodeRemovedEvent = TypedEvent<[string], NodeRemovedEventObject>;
export type NodeRemovedEventFilter = TypedEventFilter<NodeRemovedEvent>;
export interface NodeUpdatedEventObject {
    nodeAddress: string;
    metadata: string;
    isNew: boolean;
    lastSeen: BigNumber;
}
export type NodeUpdatedEvent = TypedEvent<[
    string,
    string,
    boolean,
    BigNumber
], NodeUpdatedEventObject>;
export type NodeUpdatedEventFilter = TypedEventFilter<NodeUpdatedEvent>;
export interface NodeWhitelistApprovedEventObject {
    nodeAddress: string;
}
export type NodeWhitelistApprovedEvent = TypedEvent<[
    string
], NodeWhitelistApprovedEventObject>;
export type NodeWhitelistApprovedEventFilter = TypedEventFilter<NodeWhitelistApprovedEvent>;
export interface NodeWhitelistRejectedEventObject {
    nodeAddress: string;
}
export type NodeWhitelistRejectedEvent = TypedEvent<[
    string
], NodeWhitelistRejectedEventObject>;
export type NodeWhitelistRejectedEventFilter = TypedEventFilter<NodeWhitelistRejectedEvent>;
export interface OwnershipTransferredEventObject {
    previousOwner: string;
    newOwner: string;
}
export type OwnershipTransferredEvent = TypedEvent<[
    string,
    string
], OwnershipTransferredEventObject>;
export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface ReportProcessedEventObject {
    id: string;
}
export type ReportProcessedEvent = TypedEvent<[
    string
], ReportProcessedEventObject>;
export type ReportProcessedEventFilter = TypedEventFilter<ReportProcessedEvent>;
export interface RequiresWhitelistChangedEventObject {
    value: boolean;
}
export type RequiresWhitelistChangedEvent = TypedEvent<[
    boolean
], RequiresWhitelistChangedEventObject>;
export type RequiresWhitelistChangedEventFilter = TypedEventFilter<RequiresWhitelistChangedEvent>;
export interface RoleGrantedEventObject {
    role: number;
    account: string;
    sender: string;
}
export type RoleGrantedEvent = TypedEvent<[
    number,
    string,
    string
], RoleGrantedEventObject>;
export type RoleGrantedEventFilter = TypedEventFilter<RoleGrantedEvent>;
export interface RoleRevokedEventObject {
    role: number;
    account: string;
    sender: string;
}
export type RoleRevokedEvent = TypedEvent<[
    number,
    string,
    string
], RoleRevokedEventObject>;
export type RoleRevokedEventFilter = TypedEventFilter<RoleRevokedEvent>;
export interface StakeDelegateUpdatedEventObject {
    delegate: string;
    node: string;
    amount: BigNumber;
    totalStake: BigNumber;
    totalDelegated: BigNumber;
    delegated: boolean;
}
export type StakeDelegateUpdatedEvent = TypedEvent<[
    string,
    string,
    BigNumber,
    BigNumber,
    BigNumber,
    boolean
], StakeDelegateUpdatedEventObject>;
export type StakeDelegateUpdatedEventFilter = TypedEventFilter<StakeDelegateUpdatedEvent>;
export interface StreamAddedEventObject {
    key: string;
    path: string;
    metadataJsonString: string;
    streamId: string;
}
export type StreamAddedEvent = TypedEvent<[
    string,
    string,
    string,
    string
], StreamAddedEventObject>;
export type StreamAddedEventFilter = TypedEventFilter<StreamAddedEvent>;
export interface StreamRemovedEventObject {
    key: string;
    path: string;
    metadataJsonString: string;
    streamId: string;
}
export type StreamRemovedEvent = TypedEvent<[
    string,
    string,
    string,
    string
], StreamRemovedEventObject>;
export type StreamRemovedEventFilter = TypedEventFilter<StreamRemovedEvent>;
export interface UpgradedEventObject {
    implementation: string;
}
export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>;
export type UpgradedEventFilter = TypedEventFilter<UpgradedEvent>;
export interface LogStoreNodeManager extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: LogStoreNodeManagerInterface;
    queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
    listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
    listeners(eventName?: string): Array<Listener>;
    removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
    removeAllListeners(eventName?: string): this;
    off: OnEvent<this>;
    on: OnEvent<this>;
    once: OnEvent<this>;
    removeListener: OnEvent<this>;
    functions: {
        _generateStreamId(streamPath: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string]>;
        balanceOf(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        createStream(key: PromiseOrValue<string>, path: PromiseOrValue<string>, metadataJsonString: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        delegate(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        delegatesOf(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        deleteStream(key: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        getAllStreams(overrides?: CallOverrides): Promise<[string[]]>;
        grantRole(role: PromiseOrValue<BigNumberish>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        headNode(overrides?: CallOverrides): Promise<[string]>;
        initialize(owner_: PromiseOrValue<string>, requiresWhitelist_: PromiseOrValue<boolean>, stakeTokenAddress_: PromiseOrValue<string>, stakeRequiredAmount_: PromiseOrValue<BigNumberish>, streamrRegistryAddress_: PromiseOrValue<string>, initialNodes: PromiseOrValue<string>[], initialMetadata: PromiseOrValue<string>[], initialStreams: [
            PromiseOrValue<string>,
            PromiseOrValue<string>,
            PromiseOrValue<string>
        ][], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        isStaked(node: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        join(amount: PromiseOrValue<BigNumberish>, metadata_: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        kickNode(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        leave(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        nodeAddresses(overrides?: CallOverrides): Promise<[string[]] & {
            resultAddresses: string[];
        }>;
        nodeStake(node: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        nodes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            BigNumber,
            string,
            BigNumber,
            string,
            string,
            BigNumber
        ] & {
            index: BigNumber;
            metadata: string;
            lastSeen: BigNumber;
            next: string;
            prev: string;
            stake: BigNumber;
        }>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        processReport(id: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        proxiableUUID(overrides?: CallOverrides): Promise<[string]>;
        registerQueryManager(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        registerReportManager(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        registerStoreManager(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        removeNode(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        removeNodeAdmin(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        renounceRole(account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        requiresWhitelist(overrides?: CallOverrides): Promise<[boolean]>;
        revokeRole(account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        roles(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[number]>;
        setRequiresWhitelist(value: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        stake(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        stakeAndDelegate(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        stakeRequiredAmount(overrides?: CallOverrides): Promise<[BigNumber]>;
        stakeTokenAddress(overrides?: CallOverrides): Promise<[string]>;
        startBlockNumber(overrides?: CallOverrides): Promise<[BigNumber]>;
        streamExists(streamId: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        streamInformation(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            string,
            string,
            string,
            BigNumber
        ] & {
            key: string;
            path: string;
            metadata: string;
            index: BigNumber;
        }>;
        streams(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>;
        tailNode(overrides?: CallOverrides): Promise<[string]>;
        totalNodes(overrides?: CallOverrides): Promise<[BigNumber]>;
        totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        treasurySupply(overrides?: CallOverrides): Promise<[BigNumber]>;
        treasuryWithdraw(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        undelegate(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        undelegateWithdraw(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        upsertNode(metadata_: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        upsertNodeAdmin(node: PromiseOrValue<string>, metadata_: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        whitelist(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[number]>;
        whitelistApproveNode(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        whitelistRejectNode(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        withdraw(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
    };
    _generateStreamId(streamPath: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
    balanceOf(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    createStream(key: PromiseOrValue<string>, path: PromiseOrValue<string>, metadataJsonString: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    delegate(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    delegatesOf(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    deleteStream(key: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    getAllStreams(overrides?: CallOverrides): Promise<string[]>;
    grantRole(role: PromiseOrValue<BigNumberish>, account: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    headNode(overrides?: CallOverrides): Promise<string>;
    initialize(owner_: PromiseOrValue<string>, requiresWhitelist_: PromiseOrValue<boolean>, stakeTokenAddress_: PromiseOrValue<string>, stakeRequiredAmount_: PromiseOrValue<BigNumberish>, streamrRegistryAddress_: PromiseOrValue<string>, initialNodes: PromiseOrValue<string>[], initialMetadata: PromiseOrValue<string>[], initialStreams: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>
    ][], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    isStaked(node: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    join(amount: PromiseOrValue<BigNumberish>, metadata_: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    kickNode(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    leave(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    nodeAddresses(overrides?: CallOverrides): Promise<string[]>;
    nodeStake(node: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    nodes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
        BigNumber,
        string,
        BigNumber,
        string,
        string,
        BigNumber
    ] & {
        index: BigNumber;
        metadata: string;
        lastSeen: BigNumber;
        next: string;
        prev: string;
        stake: BigNumber;
    }>;
    owner(overrides?: CallOverrides): Promise<string>;
    processReport(id: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    proxiableUUID(overrides?: CallOverrides): Promise<string>;
    registerQueryManager(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    registerReportManager(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    registerStoreManager(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    removeNode(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    removeNodeAdmin(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    renounceOwnership(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    renounceRole(account: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    requiresWhitelist(overrides?: CallOverrides): Promise<boolean>;
    revokeRole(account: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    roles(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<number>;
    setRequiresWhitelist(value: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    stake(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    stakeAndDelegate(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    stakeRequiredAmount(overrides?: CallOverrides): Promise<BigNumber>;
    stakeTokenAddress(overrides?: CallOverrides): Promise<string>;
    startBlockNumber(overrides?: CallOverrides): Promise<BigNumber>;
    streamExists(streamId: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    streamInformation(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
        string,
        string,
        string,
        BigNumber
    ] & {
        key: string;
        path: string;
        metadata: string;
        index: BigNumber;
    }>;
    streams(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
    tailNode(overrides?: CallOverrides): Promise<string>;
    totalNodes(overrides?: CallOverrides): Promise<BigNumber>;
    totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
    transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    treasurySupply(overrides?: CallOverrides): Promise<BigNumber>;
    treasuryWithdraw(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    undelegate(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    undelegateWithdraw(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    upsertNode(metadata_: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    upsertNodeAdmin(node: PromiseOrValue<string>, metadata_: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    whitelist(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<number>;
    whitelistApproveNode(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    whitelistRejectNode(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    withdraw(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    callStatic: {
        _generateStreamId(streamPath: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
        balanceOf(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        createStream(key: PromiseOrValue<string>, path: PromiseOrValue<string>, metadataJsonString: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        delegate(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        delegatesOf(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        deleteStream(key: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        getAllStreams(overrides?: CallOverrides): Promise<string[]>;
        grantRole(role: PromiseOrValue<BigNumberish>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        headNode(overrides?: CallOverrides): Promise<string>;
        initialize(owner_: PromiseOrValue<string>, requiresWhitelist_: PromiseOrValue<boolean>, stakeTokenAddress_: PromiseOrValue<string>, stakeRequiredAmount_: PromiseOrValue<BigNumberish>, streamrRegistryAddress_: PromiseOrValue<string>, initialNodes: PromiseOrValue<string>[], initialMetadata: PromiseOrValue<string>[], initialStreams: [
            PromiseOrValue<string>,
            PromiseOrValue<string>,
            PromiseOrValue<string>
        ][], overrides?: CallOverrides): Promise<void>;
        isStaked(node: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        join(amount: PromiseOrValue<BigNumberish>, metadata_: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        kickNode(nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        leave(overrides?: CallOverrides): Promise<void>;
        nodeAddresses(overrides?: CallOverrides): Promise<string[]>;
        nodeStake(node: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        nodes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            BigNumber,
            string,
            BigNumber,
            string,
            string,
            BigNumber
        ] & {
            index: BigNumber;
            metadata: string;
            lastSeen: BigNumber;
            next: string;
            prev: string;
            stake: BigNumber;
        }>;
        owner(overrides?: CallOverrides): Promise<string>;
        processReport(id: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        proxiableUUID(overrides?: CallOverrides): Promise<string>;
        registerQueryManager(contractAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        registerReportManager(contractAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        registerStoreManager(contractAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        removeNode(overrides?: CallOverrides): Promise<void>;
        removeNodeAdmin(nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        renounceOwnership(overrides?: CallOverrides): Promise<void>;
        renounceRole(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        requiresWhitelist(overrides?: CallOverrides): Promise<boolean>;
        revokeRole(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        roles(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<number>;
        setRequiresWhitelist(value: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        stake(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        stakeAndDelegate(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        stakeRequiredAmount(overrides?: CallOverrides): Promise<BigNumber>;
        stakeTokenAddress(overrides?: CallOverrides): Promise<string>;
        startBlockNumber(overrides?: CallOverrides): Promise<BigNumber>;
        streamExists(streamId: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        streamInformation(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            string,
            string,
            string,
            BigNumber
        ] & {
            key: string;
            path: string;
            metadata: string;
            index: BigNumber;
        }>;
        streams(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
        tailNode(overrides?: CallOverrides): Promise<string>;
        totalNodes(overrides?: CallOverrides): Promise<BigNumber>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        treasurySupply(overrides?: CallOverrides): Promise<BigNumber>;
        treasuryWithdraw(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        undelegate(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        undelegateWithdraw(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        upsertNode(metadata_: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        upsertNodeAdmin(node: PromiseOrValue<string>, metadata_: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        whitelist(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<number>;
        whitelistApproveNode(nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        whitelistRejectNode(nodeAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        withdraw(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
    };
    filters: {
        "AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
        AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
        "BeaconUpgraded(address)"(beacon?: PromiseOrValue<string> | null): BeaconUpgradedEventFilter;
        BeaconUpgraded(beacon?: PromiseOrValue<string> | null): BeaconUpgradedEventFilter;
        "Initialized(uint8)"(version?: null): InitializedEventFilter;
        Initialized(version?: null): InitializedEventFilter;
        "NodeRemoved(address)"(nodeAddress?: PromiseOrValue<string> | null): NodeRemovedEventFilter;
        NodeRemoved(nodeAddress?: PromiseOrValue<string> | null): NodeRemovedEventFilter;
        "NodeUpdated(address,string,bool,uint256)"(nodeAddress?: PromiseOrValue<string> | null, metadata?: null, isNew?: PromiseOrValue<boolean> | null, lastSeen?: null): NodeUpdatedEventFilter;
        NodeUpdated(nodeAddress?: PromiseOrValue<string> | null, metadata?: null, isNew?: PromiseOrValue<boolean> | null, lastSeen?: null): NodeUpdatedEventFilter;
        "NodeWhitelistApproved(address)"(nodeAddress?: PromiseOrValue<string> | null): NodeWhitelistApprovedEventFilter;
        NodeWhitelistApproved(nodeAddress?: PromiseOrValue<string> | null): NodeWhitelistApprovedEventFilter;
        "NodeWhitelistRejected(address)"(nodeAddress?: PromiseOrValue<string> | null): NodeWhitelistRejectedEventFilter;
        NodeWhitelistRejected(nodeAddress?: PromiseOrValue<string> | null): NodeWhitelistRejectedEventFilter;
        "OwnershipTransferred(address,address)"(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        "ReportProcessed(string)"(id?: null): ReportProcessedEventFilter;
        ReportProcessed(id?: null): ReportProcessedEventFilter;
        "RequiresWhitelistChanged(bool)"(value?: PromiseOrValue<boolean> | null): RequiresWhitelistChangedEventFilter;
        RequiresWhitelistChanged(value?: PromiseOrValue<boolean> | null): RequiresWhitelistChangedEventFilter;
        "RoleGranted(uint8,address,address)"(role?: PromiseOrValue<BigNumberish> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleGrantedEventFilter;
        RoleGranted(role?: PromiseOrValue<BigNumberish> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleGrantedEventFilter;
        "RoleRevoked(uint8,address,address)"(role?: PromiseOrValue<BigNumberish> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleRevokedEventFilter;
        RoleRevoked(role?: PromiseOrValue<BigNumberish> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleRevokedEventFilter;
        "StakeDelegateUpdated(address,address,uint256,uint256,uint256,bool)"(delegate?: PromiseOrValue<string> | null, node?: PromiseOrValue<string> | null, amount?: null, totalStake?: null, totalDelegated?: null, delegated?: null): StakeDelegateUpdatedEventFilter;
        StakeDelegateUpdated(delegate?: PromiseOrValue<string> | null, node?: PromiseOrValue<string> | null, amount?: null, totalStake?: null, totalDelegated?: null, delegated?: null): StakeDelegateUpdatedEventFilter;
        "StreamAdded(string,string,string,string)"(key?: null, path?: null, metadataJsonString?: null, streamId?: null): StreamAddedEventFilter;
        StreamAdded(key?: null, path?: null, metadataJsonString?: null, streamId?: null): StreamAddedEventFilter;
        "StreamRemoved(string,string,string,string)"(key?: null, path?: null, metadataJsonString?: null, streamId?: null): StreamRemovedEventFilter;
        StreamRemoved(key?: null, path?: null, metadataJsonString?: null, streamId?: null): StreamRemovedEventFilter;
        "Upgraded(address)"(implementation?: PromiseOrValue<string> | null): UpgradedEventFilter;
        Upgraded(implementation?: PromiseOrValue<string> | null): UpgradedEventFilter;
    };
    estimateGas: {
        _generateStreamId(streamPath: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        balanceOf(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        createStream(key: PromiseOrValue<string>, path: PromiseOrValue<string>, metadataJsonString: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        delegate(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        delegatesOf(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        deleteStream(key: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        getAllStreams(overrides?: CallOverrides): Promise<BigNumber>;
        grantRole(role: PromiseOrValue<BigNumberish>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        headNode(overrides?: CallOverrides): Promise<BigNumber>;
        initialize(owner_: PromiseOrValue<string>, requiresWhitelist_: PromiseOrValue<boolean>, stakeTokenAddress_: PromiseOrValue<string>, stakeRequiredAmount_: PromiseOrValue<BigNumberish>, streamrRegistryAddress_: PromiseOrValue<string>, initialNodes: PromiseOrValue<string>[], initialMetadata: PromiseOrValue<string>[], initialStreams: [
            PromiseOrValue<string>,
            PromiseOrValue<string>,
            PromiseOrValue<string>
        ][], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        isStaked(node: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        join(amount: PromiseOrValue<BigNumberish>, metadata_: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        kickNode(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        leave(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        nodeAddresses(overrides?: CallOverrides): Promise<BigNumber>;
        nodeStake(node: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        nodes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        processReport(id: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        proxiableUUID(overrides?: CallOverrides): Promise<BigNumber>;
        registerQueryManager(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        registerReportManager(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        registerStoreManager(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        removeNode(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        removeNodeAdmin(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        renounceRole(account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        requiresWhitelist(overrides?: CallOverrides): Promise<BigNumber>;
        revokeRole(account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        roles(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        setRequiresWhitelist(value: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        stake(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        stakeAndDelegate(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        stakeRequiredAmount(overrides?: CallOverrides): Promise<BigNumber>;
        stakeTokenAddress(overrides?: CallOverrides): Promise<BigNumber>;
        startBlockNumber(overrides?: CallOverrides): Promise<BigNumber>;
        streamExists(streamId: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        streamInformation(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        streams(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
        tailNode(overrides?: CallOverrides): Promise<BigNumber>;
        totalNodes(overrides?: CallOverrides): Promise<BigNumber>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        treasurySupply(overrides?: CallOverrides): Promise<BigNumber>;
        treasuryWithdraw(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        undelegate(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        undelegateWithdraw(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        upsertNode(metadata_: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        upsertNodeAdmin(node: PromiseOrValue<string>, metadata_: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        whitelist(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        whitelistApproveNode(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        whitelistRejectNode(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        withdraw(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        _generateStreamId(streamPath: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        balanceOf(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        createStream(key: PromiseOrValue<string>, path: PromiseOrValue<string>, metadataJsonString: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        delegate(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        delegatesOf(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        deleteStream(key: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        getAllStreams(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        grantRole(role: PromiseOrValue<BigNumberish>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        headNode(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initialize(owner_: PromiseOrValue<string>, requiresWhitelist_: PromiseOrValue<boolean>, stakeTokenAddress_: PromiseOrValue<string>, stakeRequiredAmount_: PromiseOrValue<BigNumberish>, streamrRegistryAddress_: PromiseOrValue<string>, initialNodes: PromiseOrValue<string>[], initialMetadata: PromiseOrValue<string>[], initialStreams: [
            PromiseOrValue<string>,
            PromiseOrValue<string>,
            PromiseOrValue<string>
        ][], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        isStaked(node: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        join(amount: PromiseOrValue<BigNumberish>, metadata_: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        kickNode(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        leave(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        nodeAddresses(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        nodeStake(node: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        nodes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        processReport(id: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        proxiableUUID(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        registerQueryManager(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        registerReportManager(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        registerStoreManager(contractAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        removeNode(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        removeNodeAdmin(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        renounceRole(account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        requiresWhitelist(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        revokeRole(account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        roles(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        setRequiresWhitelist(value: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        stake(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        stakeAndDelegate(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        stakeRequiredAmount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        stakeTokenAddress(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        startBlockNumber(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        streamExists(streamId: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        streamInformation(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        streams(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        tailNode(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalNodes(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        treasurySupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        treasuryWithdraw(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        undelegate(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        undelegateWithdraw(amount: PromiseOrValue<BigNumberish>, node: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        upsertNode(metadata_: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        upsertNodeAdmin(node: PromiseOrValue<string>, metadata_: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        whitelist(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        whitelistApproveNode(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        whitelistRejectNode(nodeAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        withdraw(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
    };
}
//# sourceMappingURL=LogStoreNodeManager.d.ts.map