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 declare namespace AuriLens {
    type AuTokenBalancesStruct = {
        auToken: PromiseOrValue<string>;
        balanceOf: PromiseOrValue<BigNumberish>;
        borrowBalanceCurrent: PromiseOrValue<BigNumberish>;
        balanceOfUnderlying: PromiseOrValue<BigNumberish>;
        tokenBalance: PromiseOrValue<BigNumberish>;
        tokenAllowance: PromiseOrValue<BigNumberish>;
    };
    type AuTokenBalancesStructOutput = [string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & {
        auToken: string;
        balanceOf: BigNumber;
        borrowBalanceCurrent: BigNumber;
        balanceOfUnderlying: BigNumber;
        tokenBalance: BigNumber;
        tokenAllowance: BigNumber;
    };
    type AuTokenMetadataStruct = {
        auToken: PromiseOrValue<string>;
        exchangeRateCurrent: PromiseOrValue<BigNumberish>;
        supplyRatePerBlock: PromiseOrValue<BigNumberish>;
        borrowRatePerBlock: PromiseOrValue<BigNumberish>;
        reserveFactorMantissa: PromiseOrValue<BigNumberish>;
        totalBorrows: PromiseOrValue<BigNumberish>;
        totalReserves: PromiseOrValue<BigNumberish>;
        totalSupply: PromiseOrValue<BigNumberish>;
        totalCash: PromiseOrValue<BigNumberish>;
        isListed: PromiseOrValue<boolean>;
        collateralFactorMantissa: PromiseOrValue<BigNumberish>;
        underlyingAssetAddress: PromiseOrValue<string>;
        auTokenDecimals: PromiseOrValue<BigNumberish>;
        underlyingDecimals: PromiseOrValue<BigNumberish>;
        plyRewardSupplySpeed: PromiseOrValue<BigNumberish>;
        plyRewardBorrowSpeed: PromiseOrValue<BigNumberish>;
        auroraRewardSupplySpeed: PromiseOrValue<BigNumberish>;
        auroraRewardBorrowSpeed: PromiseOrValue<BigNumberish>;
        borrowCap: PromiseOrValue<BigNumberish>;
    };
    type AuTokenMetadataStructOutput = [
        string,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        boolean,
        BigNumber,
        string,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber
    ] & {
        auToken: string;
        exchangeRateCurrent: BigNumber;
        supplyRatePerBlock: BigNumber;
        borrowRatePerBlock: BigNumber;
        reserveFactorMantissa: BigNumber;
        totalBorrows: BigNumber;
        totalReserves: BigNumber;
        totalSupply: BigNumber;
        totalCash: BigNumber;
        isListed: boolean;
        collateralFactorMantissa: BigNumber;
        underlyingAssetAddress: string;
        auTokenDecimals: BigNumber;
        underlyingDecimals: BigNumber;
        plyRewardSupplySpeed: BigNumber;
        plyRewardBorrowSpeed: BigNumber;
        auroraRewardSupplySpeed: BigNumber;
        auroraRewardBorrowSpeed: BigNumber;
        borrowCap: BigNumber;
    };
    type AuTokenUnderlyingPriceStruct = {
        auToken: PromiseOrValue<string>;
        underlyingPrice: PromiseOrValue<BigNumberish>;
    };
    type AuTokenUnderlyingPriceStructOutput = [string, BigNumber] & {
        auToken: string;
        underlyingPrice: BigNumber;
    };
    type RewardBalancesMetadataStruct = {
        plyAccrured: PromiseOrValue<BigNumberish>;
        auroraClaimable: PromiseOrValue<BigNumberish>;
        wnearClaimable: PromiseOrValue<BigNumberish>;
    };
    type RewardBalancesMetadataStructOutput = [BigNumber, BigNumber, BigNumber] & {
        plyAccrured: BigNumber;
        auroraClaimable: BigNumber;
        wnearClaimable: BigNumber;
    };
    type AccountLimitsStruct = {
        markets: PromiseOrValue<string>[];
        liquidity: PromiseOrValue<BigNumberish>;
        shortfall: PromiseOrValue<BigNumberish>;
    };
    type AccountLimitsStructOutput = [string[], BigNumber, BigNumber] & {
        markets: string[];
        liquidity: BigNumber;
        shortfall: BigNumber;
    };
    type RewardSpeedsStruct = {
        plyRewardSupplySpeed: PromiseOrValue<BigNumberish>;
        plyRewardBorrowSpeed: PromiseOrValue<BigNumberish>;
        auroraRewardSupplySpeed: PromiseOrValue<BigNumberish>;
        auroraRewardBorrowSpeed: PromiseOrValue<BigNumberish>;
    };
    type RewardSpeedsStructOutput = [BigNumber, BigNumber, BigNumber, BigNumber] & {
        plyRewardSupplySpeed: BigNumber;
        plyRewardBorrowSpeed: BigNumber;
        auroraRewardSupplySpeed: BigNumber;
        auroraRewardBorrowSpeed: BigNumber;
    };
}
export interface AurigamiLensInterface extends utils.Interface {
    functions: {
        'WNEAR()': FunctionFragment;
        'auTokenBalances(address)': FunctionFragment;
        'auTokenBalancesAll(address[])': FunctionFragment;
        'auTokenMetadataAllNonView(address[])': FunctionFragment;
        'auTokenMetadataNonView(address)': FunctionFragment;
        'auTokenUnderlyingPrice(address)': FunctionFragment;
        'auTokenUnderlyingPriceAll(address[])': FunctionFragment;
        'claimOwnership()': FunctionFragment;
        'claimRewards(address,address,uint256[])': FunctionFragment;
        'getAccountLimits(address)': FunctionFragment;
        'getAddresses(address)': FunctionFragment;
        'getPercentLock(address,address,int256)': FunctionFragment;
        'getRewardSpeeds(address,address)': FunctionFragment;
        'getWeekToUnlock(address,address,uint256)': FunctionFragment;
        'initialize()': FunctionFragment;
        'owner()': FunctionFragment;
        'pendingOwner()': FunctionFragment;
        'proxiableUUID()': FunctionFragment;
        'transferOwnership(address,bool,bool)': FunctionFragment;
        'upgradeTo(address)': FunctionFragment;
        'upgradeToAndCall(address,bytes)': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'WNEAR' | 'auTokenBalances' | 'auTokenBalancesAll' | 'auTokenMetadataAllNonView' | 'auTokenMetadataNonView' | 'auTokenUnderlyingPrice' | 'auTokenUnderlyingPriceAll' | 'claimOwnership' | 'claimRewards' | 'getAccountLimits' | 'getAddresses' | 'getPercentLock' | 'getRewardSpeeds' | 'getWeekToUnlock' | 'initialize' | 'owner' | 'pendingOwner' | 'proxiableUUID' | 'transferOwnership' | 'upgradeTo' | 'upgradeToAndCall'): FunctionFragment;
    encodeFunctionData(functionFragment: 'WNEAR', values?: undefined): string;
    encodeFunctionData(functionFragment: 'auTokenBalances', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'auTokenBalancesAll', values: [PromiseOrValue<string>[]]): string;
    encodeFunctionData(functionFragment: 'auTokenMetadataAllNonView', values: [PromiseOrValue<string>[]]): string;
    encodeFunctionData(functionFragment: 'auTokenMetadataNonView', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'auTokenUnderlyingPrice', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'auTokenUnderlyingPriceAll', values: [PromiseOrValue<string>[]]): string;
    encodeFunctionData(functionFragment: 'claimOwnership', values?: undefined): string;
    encodeFunctionData(functionFragment: 'claimRewards', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>[]]): string;
    encodeFunctionData(functionFragment: 'getAccountLimits', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getAddresses', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getPercentLock', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getRewardSpeeds', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getWeekToUnlock', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'initialize', values?: undefined): string;
    encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'pendingOwner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'proxiableUUID', values?: undefined): string;
    encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue<string>, PromiseOrValue<boolean>, PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'upgradeTo', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'upgradeToAndCall', values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>]): string;
    decodeFunctionResult(functionFragment: 'WNEAR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'auTokenBalances', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'auTokenBalancesAll', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'auTokenMetadataAllNonView', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'auTokenMetadataNonView', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'auTokenUnderlyingPrice', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'auTokenUnderlyingPriceAll', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'claimOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'claimRewards', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAccountLimits', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAddresses', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getPercentLock', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRewardSpeeds', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getWeekToUnlock', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pendingOwner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'proxiableUUID', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'upgradeTo', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'upgradeToAndCall', data: BytesLike): Result;
    events: {
        'AdminChanged(address,address)': EventFragment;
        'BeaconUpgraded(address)': EventFragment;
        'OwnershipTransferred(address,address)': EventFragment;
        'Upgraded(address)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'AdminChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'BeaconUpgraded'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Upgraded'): EventFragment;
}
export interface AdminChangedEventObject {
    previousAdmin: string;
    newAdmin: string;
}
export declare type AdminChangedEvent = TypedEvent<[string, string], AdminChangedEventObject>;
export declare type AdminChangedEventFilter = TypedEventFilter<AdminChangedEvent>;
export interface BeaconUpgradedEventObject {
    beacon: string;
}
export declare type BeaconUpgradedEvent = TypedEvent<[string], BeaconUpgradedEventObject>;
export declare type BeaconUpgradedEventFilter = TypedEventFilter<BeaconUpgradedEvent>;
export interface OwnershipTransferredEventObject {
    previousOwner: string;
    newOwner: string;
}
export declare type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>;
export declare type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface UpgradedEventObject {
    implementation: string;
}
export declare type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>;
export declare type UpgradedEventFilter = TypedEventFilter<UpgradedEvent>;
export interface AurigamiLens extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: AurigamiLensInterface;
    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: {
        WNEAR(overrides?: CallOverrides): Promise<[string]>;
        auTokenBalances(auToken: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        auTokenBalancesAll(auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        auTokenMetadataAllNonView(auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        auTokenMetadataNonView(auToken: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        auTokenUnderlyingPrice(auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[AuriLens.AuTokenUnderlyingPriceStructOutput]>;
        auTokenUnderlyingPriceAll(auTokens: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<[AuriLens.AuTokenUnderlyingPriceStructOutput[]]>;
        claimOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        claimRewards(comptroller: PromiseOrValue<string>, fairLaunch: PromiseOrValue<string>, pids: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        getAccountLimits(comptroller: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[AuriLens.AccountLimitsStructOutput]>;
        getAddresses(comptroller: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            string,
            string,
            string,
            string
        ] & {
            ply: string;
            aurora: string;
            wnear: string;
            pulp: string;
        }>;
        getPercentLock(pulp: PromiseOrValue<string>, account: PromiseOrValue<string>, weekInt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber] & {
            percentLock: BigNumber;
        }>;
        getRewardSpeeds(comptroller: PromiseOrValue<string>, auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            AuriLens.RewardSpeedsStructOutput
        ] & {
            rewardSpeeds: AuriLens.RewardSpeedsStructOutput;
        }>;
        getWeekToUnlock(pulp: PromiseOrValue<string>, account: PromiseOrValue<string>, targetUnlockPercent: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        initialize(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        pendingOwner(overrides?: CallOverrides): Promise<[string]>;
        proxiableUUID(overrides?: CallOverrides): Promise<[string]>;
        transferOwnership(newOwner: PromiseOrValue<string>, direct: PromiseOrValue<boolean>, renounce: PromiseOrValue<boolean>, 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>;
    };
    WNEAR(overrides?: CallOverrides): Promise<string>;
    auTokenBalances(auToken: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    auTokenBalancesAll(auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    auTokenMetadataAllNonView(auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    auTokenMetadataNonView(auToken: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    auTokenUnderlyingPrice(auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<AuriLens.AuTokenUnderlyingPriceStructOutput>;
    auTokenUnderlyingPriceAll(auTokens: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<AuriLens.AuTokenUnderlyingPriceStructOutput[]>;
    claimOwnership(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    claimRewards(comptroller: PromiseOrValue<string>, fairLaunch: PromiseOrValue<string>, pids: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    getAccountLimits(comptroller: PromiseOrValue<string>, overrides?: CallOverrides): Promise<AuriLens.AccountLimitsStructOutput>;
    getAddresses(comptroller: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
        string,
        string,
        string,
        string
    ] & {
        ply: string;
        aurora: string;
        wnear: string;
        pulp: string;
    }>;
    getPercentLock(pulp: PromiseOrValue<string>, account: PromiseOrValue<string>, weekInt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    getRewardSpeeds(comptroller: PromiseOrValue<string>, auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<AuriLens.RewardSpeedsStructOutput>;
    getWeekToUnlock(pulp: PromiseOrValue<string>, account: PromiseOrValue<string>, targetUnlockPercent: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    initialize(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    owner(overrides?: CallOverrides): Promise<string>;
    pendingOwner(overrides?: CallOverrides): Promise<string>;
    proxiableUUID(overrides?: CallOverrides): Promise<string>;
    transferOwnership(newOwner: PromiseOrValue<string>, direct: PromiseOrValue<boolean>, renounce: PromiseOrValue<boolean>, 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>;
    callStatic: {
        WNEAR(overrides?: CallOverrides): Promise<string>;
        auTokenBalances(auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<AuriLens.AuTokenBalancesStructOutput>;
        auTokenBalancesAll(auTokens: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<AuriLens.AuTokenBalancesStructOutput[]>;
        auTokenMetadataAllNonView(auTokens: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<AuriLens.AuTokenMetadataStructOutput[]>;
        auTokenMetadataNonView(auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<AuriLens.AuTokenMetadataStructOutput>;
        auTokenUnderlyingPrice(auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<AuriLens.AuTokenUnderlyingPriceStructOutput>;
        auTokenUnderlyingPriceAll(auTokens: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<AuriLens.AuTokenUnderlyingPriceStructOutput[]>;
        claimOwnership(overrides?: CallOverrides): Promise<void>;
        claimRewards(comptroller: PromiseOrValue<string>, fairLaunch: PromiseOrValue<string>, pids: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<AuriLens.RewardBalancesMetadataStructOutput>;
        getAccountLimits(comptroller: PromiseOrValue<string>, overrides?: CallOverrides): Promise<AuriLens.AccountLimitsStructOutput>;
        getAddresses(comptroller: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            string,
            string,
            string,
            string
        ] & {
            ply: string;
            aurora: string;
            wnear: string;
            pulp: string;
        }>;
        getPercentLock(pulp: PromiseOrValue<string>, account: PromiseOrValue<string>, weekInt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getRewardSpeeds(comptroller: PromiseOrValue<string>, auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<AuriLens.RewardSpeedsStructOutput>;
        getWeekToUnlock(pulp: PromiseOrValue<string>, account: PromiseOrValue<string>, targetUnlockPercent: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        initialize(overrides?: CallOverrides): Promise<void>;
        owner(overrides?: CallOverrides): Promise<string>;
        pendingOwner(overrides?: CallOverrides): Promise<string>;
        proxiableUUID(overrides?: CallOverrides): Promise<string>;
        transferOwnership(newOwner: PromiseOrValue<string>, direct: PromiseOrValue<boolean>, renounce: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, 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;
        'OwnershipTransferred(address,address)'(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        'Upgraded(address)'(implementation?: PromiseOrValue<string> | null): UpgradedEventFilter;
        Upgraded(implementation?: PromiseOrValue<string> | null): UpgradedEventFilter;
    };
    estimateGas: {
        WNEAR(overrides?: CallOverrides): Promise<BigNumber>;
        auTokenBalances(auToken: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        auTokenBalancesAll(auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        auTokenMetadataAllNonView(auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        auTokenMetadataNonView(auToken: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        auTokenUnderlyingPrice(auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        auTokenUnderlyingPriceAll(auTokens: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<BigNumber>;
        claimOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        claimRewards(comptroller: PromiseOrValue<string>, fairLaunch: PromiseOrValue<string>, pids: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        getAccountLimits(comptroller: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getAddresses(comptroller: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getPercentLock(pulp: PromiseOrValue<string>, account: PromiseOrValue<string>, weekInt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getRewardSpeeds(comptroller: PromiseOrValue<string>, auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getWeekToUnlock(pulp: PromiseOrValue<string>, account: PromiseOrValue<string>, targetUnlockPercent: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        initialize(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        pendingOwner(overrides?: CallOverrides): Promise<BigNumber>;
        proxiableUUID(overrides?: CallOverrides): Promise<BigNumber>;
        transferOwnership(newOwner: PromiseOrValue<string>, direct: PromiseOrValue<boolean>, renounce: PromiseOrValue<boolean>, 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>;
    };
    populateTransaction: {
        WNEAR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        auTokenBalances(auToken: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        auTokenBalancesAll(auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        auTokenMetadataAllNonView(auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        auTokenMetadataNonView(auToken: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        auTokenUnderlyingPrice(auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        auTokenUnderlyingPriceAll(auTokens: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
        claimOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        claimRewards(comptroller: PromiseOrValue<string>, fairLaunch: PromiseOrValue<string>, pids: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        getAccountLimits(comptroller: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAddresses(comptroller: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getPercentLock(pulp: PromiseOrValue<string>, account: PromiseOrValue<string>, weekInt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRewardSpeeds(comptroller: PromiseOrValue<string>, auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getWeekToUnlock(pulp: PromiseOrValue<string>, account: PromiseOrValue<string>, targetUnlockPercent: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initialize(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pendingOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        proxiableUUID(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        transferOwnership(newOwner: PromiseOrValue<string>, direct: PromiseOrValue<boolean>, renounce: PromiseOrValue<boolean>, 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>;
    };
}
