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 } from "./common.js";
export interface BibizAbiInterface extends utils.Interface {
    functions: {
        "DEFAULT_ADMIN_ROLE()": FunctionFragment;
        "MANAGER_ROLE()": FunctionFragment;
        "SIGNER_ROLE()": FunctionFragment;
        "UPGRADER_ROLE()": FunctionFragment;
        "getRoleAdmin(bytes32)": FunctionFragment;
        "grantRole(bytes32,address)": FunctionFragment;
        "hasRole(bytes32,address)": FunctionFragment;
        "initialize(address,address,address)": FunctionFragment;
        "oilContract()": FunctionFragment;
        "onERC721Received(address,address,uint256,bytes)": FunctionFragment;
        "ownerOf(uint256)": FunctionFragment;
        "proxiableUUID()": FunctionFragment;
        "renounceRole(bytes32,address)": FunctionFragment;
        "revokeRole(bytes32,address)": FunctionFragment;
        "secondsStakedOf(uint256[])": FunctionFragment;
        "stake(uint256[])": FunctionFragment;
        "stakedTimeOf(uint256[])": FunctionFragment;
        "stakingContract()": FunctionFragment;
        "supportsInterface(bytes4)": FunctionFragment;
        "tokenContract()": FunctionFragment;
        "tokensOf(address)": FunctionFragment;
        "uniqueOwnerCount()": FunctionFragment;
        "unstake(uint256[])": FunctionFragment;
        "unstakeAll()": FunctionFragment;
        "upgradeTo(address)": FunctionFragment;
        "upgradeToAndCall(address,bytes)": FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: "DEFAULT_ADMIN_ROLE" | "MANAGER_ROLE" | "SIGNER_ROLE" | "UPGRADER_ROLE" | "getRoleAdmin" | "grantRole" | "hasRole" | "initialize" | "oilContract" | "onERC721Received" | "ownerOf" | "proxiableUUID" | "renounceRole" | "revokeRole" | "secondsStakedOf" | "stake" | "stakedTimeOf" | "stakingContract" | "supportsInterface" | "tokenContract" | "tokensOf" | "uniqueOwnerCount" | "unstake" | "unstakeAll" | "upgradeTo" | "upgradeToAndCall"): FunctionFragment;
    encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string;
    encodeFunctionData(functionFragment: "MANAGER_ROLE", values?: undefined): string;
    encodeFunctionData(functionFragment: "SIGNER_ROLE", values?: undefined): string;
    encodeFunctionData(functionFragment: "UPGRADER_ROLE", values?: undefined): string;
    encodeFunctionData(functionFragment: "getRoleAdmin", values: [BytesLike]): string;
    encodeFunctionData(functionFragment: "grantRole", values: [BytesLike, string]): string;
    encodeFunctionData(functionFragment: "hasRole", values: [BytesLike, string]): string;
    encodeFunctionData(functionFragment: "initialize", values: [string, string, string]): string;
    encodeFunctionData(functionFragment: "oilContract", values?: undefined): string;
    encodeFunctionData(functionFragment: "onERC721Received", values: [string, string, BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "ownerOf", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string;
    encodeFunctionData(functionFragment: "renounceRole", values: [BytesLike, string]): string;
    encodeFunctionData(functionFragment: "revokeRole", values: [BytesLike, string]): string;
    encodeFunctionData(functionFragment: "secondsStakedOf", values: [BigNumberish[]]): string;
    encodeFunctionData(functionFragment: "stake", values: [BigNumberish[]]): string;
    encodeFunctionData(functionFragment: "stakedTimeOf", values: [BigNumberish[]]): string;
    encodeFunctionData(functionFragment: "stakingContract", values?: undefined): string;
    encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string;
    encodeFunctionData(functionFragment: "tokenContract", values?: undefined): string;
    encodeFunctionData(functionFragment: "tokensOf", values: [string]): string;
    encodeFunctionData(functionFragment: "uniqueOwnerCount", values?: undefined): string;
    encodeFunctionData(functionFragment: "unstake", values: [BigNumberish[]]): string;
    encodeFunctionData(functionFragment: "unstakeAll", values?: undefined): string;
    encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string;
    encodeFunctionData(functionFragment: "upgradeToAndCall", values: [string, BytesLike]): string;
    decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "MANAGER_ROLE", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "SIGNER_ROLE", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "UPGRADER_ROLE", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "oilContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "onERC721Received", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "ownerOf", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "secondsStakedOf", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stake", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stakedTimeOf", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stakingContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "tokenContract", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "tokensOf", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "uniqueOwnerCount", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "unstake", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "unstakeAll", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result;
    events: {
        "AdminChanged(address,address)": EventFragment;
        "BeaconUpgraded(address)": EventFragment;
        "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment;
        "RoleGranted(bytes32,address,address)": EventFragment;
        "RoleRevoked(bytes32,address,address)": EventFragment;
        "TokenStaked(address,uint256)": EventFragment;
        "TokenUnstaked(address,uint256)": EventFragment;
        "Upgraded(address)": EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "TokenStaked"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "TokenUnstaked"): 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 RoleAdminChangedEventObject {
    role: string;
    previousAdminRole: string;
    newAdminRole: string;
}
export type RoleAdminChangedEvent = TypedEvent<[
    string,
    string,
    string
], RoleAdminChangedEventObject>;
export type RoleAdminChangedEventFilter = TypedEventFilter<RoleAdminChangedEvent>;
export interface RoleGrantedEventObject {
    role: string;
    account: string;
    sender: string;
}
export type RoleGrantedEvent = TypedEvent<[
    string,
    string,
    string
], RoleGrantedEventObject>;
export type RoleGrantedEventFilter = TypedEventFilter<RoleGrantedEvent>;
export interface RoleRevokedEventObject {
    role: string;
    account: string;
    sender: string;
}
export type RoleRevokedEvent = TypedEvent<[
    string,
    string,
    string
], RoleRevokedEventObject>;
export type RoleRevokedEventFilter = TypedEventFilter<RoleRevokedEvent>;
export interface TokenStakedEventObject {
    sender: string;
    tokenId: BigNumber;
}
export type TokenStakedEvent = TypedEvent<[
    string,
    BigNumber
], TokenStakedEventObject>;
export type TokenStakedEventFilter = TypedEventFilter<TokenStakedEvent>;
export interface TokenUnstakedEventObject {
    sender: string;
    tokenId: BigNumber;
}
export type TokenUnstakedEvent = TypedEvent<[
    string,
    BigNumber
], TokenUnstakedEventObject>;
export type TokenUnstakedEventFilter = TypedEventFilter<TokenUnstakedEvent>;
export interface UpgradedEventObject {
    implementation: string;
}
export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>;
export type UpgradedEventFilter = TypedEventFilter<UpgradedEvent>;
export interface BibizAbi extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: BibizAbiInterface;
    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: {
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>;
        MANAGER_ROLE(overrides?: CallOverrides): Promise<[string]>;
        SIGNER_ROLE(overrides?: CallOverrides): Promise<[string]>;
        UPGRADER_ROLE(overrides?: CallOverrides): Promise<[string]>;
        getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<[string]>;
        grantRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<[boolean]>;
        initialize(stakingContract_: string, tokenContract_: string, oilContract_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        oilContract(overrides?: CallOverrides): Promise<[string]>;
        onERC721Received(operator: string, from: string, tokenId: BigNumberish, data: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        ownerOf(tokenId_: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        proxiableUUID(overrides?: CallOverrides): Promise<[string]>;
        renounceRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        revokeRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        secondsStakedOf(tokenIds_: BigNumberish[], overrides?: CallOverrides): Promise<[BigNumber[]]>;
        stake(tokenIds_: BigNumberish[], overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        stakedTimeOf(tokenIds_: BigNumberish[], overrides?: CallOverrides): Promise<[BigNumber[]]>;
        stakingContract(overrides?: CallOverrides): Promise<[string]>;
        supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>;
        tokenContract(overrides?: CallOverrides): Promise<[string]>;
        tokensOf(owner_: string, overrides?: CallOverrides): Promise<[BigNumber[]]>;
        uniqueOwnerCount(overrides?: CallOverrides): Promise<[BigNumber]>;
        unstake(tokenIds_: BigNumberish[], overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        unstakeAll(overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        upgradeTo(newImplementation: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & {
            from?: string;
        }): Promise<ContractTransaction>;
    };
    DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
    MANAGER_ROLE(overrides?: CallOverrides): Promise<string>;
    SIGNER_ROLE(overrides?: CallOverrides): Promise<string>;
    UPGRADER_ROLE(overrides?: CallOverrides): Promise<string>;
    getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
    grantRole(role: BytesLike, account: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<boolean>;
    initialize(stakingContract_: string, tokenContract_: string, oilContract_: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    oilContract(overrides?: CallOverrides): Promise<string>;
    onERC721Received(operator: string, from: string, tokenId: BigNumberish, data: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    ownerOf(tokenId_: BigNumberish, overrides?: CallOverrides): Promise<string>;
    proxiableUUID(overrides?: CallOverrides): Promise<string>;
    renounceRole(role: BytesLike, account: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    revokeRole(role: BytesLike, account: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    secondsStakedOf(tokenIds_: BigNumberish[], overrides?: CallOverrides): Promise<BigNumber[]>;
    stake(tokenIds_: BigNumberish[], overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    stakedTimeOf(tokenIds_: BigNumberish[], overrides?: CallOverrides): Promise<BigNumber[]>;
    stakingContract(overrides?: CallOverrides): Promise<string>;
    supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<boolean>;
    tokenContract(overrides?: CallOverrides): Promise<string>;
    tokensOf(owner_: string, overrides?: CallOverrides): Promise<BigNumber[]>;
    uniqueOwnerCount(overrides?: CallOverrides): Promise<BigNumber>;
    unstake(tokenIds_: BigNumberish[], overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    unstakeAll(overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    upgradeTo(newImplementation: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    callStatic: {
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
        MANAGER_ROLE(overrides?: CallOverrides): Promise<string>;
        SIGNER_ROLE(overrides?: CallOverrides): Promise<string>;
        UPGRADER_ROLE(overrides?: CallOverrides): Promise<string>;
        getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
        grantRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<void>;
        hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<boolean>;
        initialize(stakingContract_: string, tokenContract_: string, oilContract_: string, overrides?: CallOverrides): Promise<void>;
        oilContract(overrides?: CallOverrides): Promise<string>;
        onERC721Received(operator: string, from: string, tokenId: BigNumberish, data: BytesLike, overrides?: CallOverrides): Promise<string>;
        ownerOf(tokenId_: BigNumberish, overrides?: CallOverrides): Promise<string>;
        proxiableUUID(overrides?: CallOverrides): Promise<string>;
        renounceRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<void>;
        revokeRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<void>;
        secondsStakedOf(tokenIds_: BigNumberish[], overrides?: CallOverrides): Promise<BigNumber[]>;
        stake(tokenIds_: BigNumberish[], overrides?: CallOverrides): Promise<void>;
        stakedTimeOf(tokenIds_: BigNumberish[], overrides?: CallOverrides): Promise<BigNumber[]>;
        stakingContract(overrides?: CallOverrides): Promise<string>;
        supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<boolean>;
        tokenContract(overrides?: CallOverrides): Promise<string>;
        tokensOf(owner_: string, overrides?: CallOverrides): Promise<BigNumber[]>;
        uniqueOwnerCount(overrides?: CallOverrides): Promise<BigNumber>;
        unstake(tokenIds_: BigNumberish[], overrides?: CallOverrides): Promise<void>;
        unstakeAll(overrides?: CallOverrides): Promise<void>;
        upgradeTo(newImplementation: string, overrides?: CallOverrides): Promise<void>;
        upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: CallOverrides): Promise<void>;
    };
    filters: {
        "AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
        AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
        "BeaconUpgraded(address)"(beacon?: string | null): BeaconUpgradedEventFilter;
        BeaconUpgraded(beacon?: string | null): BeaconUpgradedEventFilter;
        "RoleAdminChanged(bytes32,bytes32,bytes32)"(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter;
        RoleAdminChanged(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter;
        "RoleGranted(bytes32,address,address)"(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter;
        RoleGranted(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter;
        "RoleRevoked(bytes32,address,address)"(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleRevokedEventFilter;
        RoleRevoked(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleRevokedEventFilter;
        "TokenStaked(address,uint256)"(sender?: string | null, tokenId?: null): TokenStakedEventFilter;
        TokenStaked(sender?: string | null, tokenId?: null): TokenStakedEventFilter;
        "TokenUnstaked(address,uint256)"(sender?: string | null, tokenId?: null): TokenUnstakedEventFilter;
        TokenUnstaked(sender?: string | null, tokenId?: null): TokenUnstakedEventFilter;
        "Upgraded(address)"(implementation?: string | null): UpgradedEventFilter;
        Upgraded(implementation?: string | null): UpgradedEventFilter;
    };
    estimateGas: {
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        MANAGER_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        SIGNER_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        UPGRADER_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        grantRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<BigNumber>;
        initialize(stakingContract_: string, tokenContract_: string, oilContract_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        oilContract(overrides?: CallOverrides): Promise<BigNumber>;
        onERC721Received(operator: string, from: string, tokenId: BigNumberish, data: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        ownerOf(tokenId_: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        proxiableUUID(overrides?: CallOverrides): Promise<BigNumber>;
        renounceRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        revokeRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        secondsStakedOf(tokenIds_: BigNumberish[], overrides?: CallOverrides): Promise<BigNumber>;
        stake(tokenIds_: BigNumberish[], overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        stakedTimeOf(tokenIds_: BigNumberish[], overrides?: CallOverrides): Promise<BigNumber>;
        stakingContract(overrides?: CallOverrides): Promise<BigNumber>;
        supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        tokenContract(overrides?: CallOverrides): Promise<BigNumber>;
        tokensOf(owner_: string, overrides?: CallOverrides): Promise<BigNumber>;
        uniqueOwnerCount(overrides?: CallOverrides): Promise<BigNumber>;
        unstake(tokenIds_: BigNumberish[], overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        unstakeAll(overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        upgradeTo(newImplementation: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & {
            from?: string;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        MANAGER_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        SIGNER_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        UPGRADER_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        grantRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initialize(stakingContract_: string, tokenContract_: string, oilContract_: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        oilContract(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        onERC721Received(operator: string, from: string, tokenId: BigNumberish, data: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        ownerOf(tokenId_: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        proxiableUUID(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        renounceRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        revokeRole(role: BytesLike, account: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        secondsStakedOf(tokenIds_: BigNumberish[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
        stake(tokenIds_: BigNumberish[], overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        stakedTimeOf(tokenIds_: BigNumberish[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
        stakingContract(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        tokenContract(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        tokensOf(owner_: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        uniqueOwnerCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        unstake(tokenIds_: BigNumberish[], overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        unstakeAll(overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        upgradeTo(newImplementation: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
    };
}
