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 MyceliumStakingInterface extends utils.Interface {
    functions: {
        'admin()': FunctionFragment;
        'allowance(address,address)': FunctionFragment;
        'amountDeployed()': FunctionFragment;
        'approve(address,uint256)': FunctionFragment;
        'asset()': FunctionFragment;
        'balanceOf(address)': FunctionFragment;
        'cancelAdminTransfer()': FunctionFragment;
        'cancelGovTransfer()': FunctionFragment;
        'claim(bool,bytes)': FunctionFragment;
        'claimAdmin()': FunctionFragment;
        'claimGov()': FunctionFragment;
        'compound(address,bytes)': FunctionFragment;
        'convertToAssets(uint256,uint256,uint256)': FunctionFragment;
        'convertToShares(uint256,uint256,uint256)': FunctionFragment;
        'cycle()': FunctionFragment;
        'cycleCumulativeEthRewards(uint256)': FunctionFragment;
        'cycleLength()': FunctionFragment;
        'cycleSharesAndAssets(uint256)': FunctionFragment;
        'cycleStartTime()': FunctionFragment;
        'decimals()': FunctionFragment;
        'decreaseAllowance(address,uint256)': FunctionFragment;
        'deposit(uint256,address)': FunctionFragment;
        'depositCap()': FunctionFragment;
        'dust()': FunctionFragment;
        'getClaimableAmount(address)': FunctionFragment;
        'gov()': FunctionFragment;
        'inPausedTransferMode()': FunctionFragment;
        'increaseAllowance(address,uint256)': FunctionFragment;
        'initialize(address,address,uint256,uint256,uint256,uint256,address)': FunctionFragment;
        'latestPendingDeposit(address)': FunctionFragment;
        'latestPendingRedeem(address)': FunctionFragment;
        'maxDeposit(address)': FunctionFragment;
        'maxRedeem(address)': FunctionFragment;
        'mycBuyer()': FunctionFragment;
        'name()': FunctionFragment;
        'newCycle(uint256,uint256)': FunctionFragment;
        'paused()': FunctionFragment;
        'pendingDeposits()': FunctionFragment;
        'pendingNewAdmin()': FunctionFragment;
        'pendingNewGov()': FunctionFragment;
        'pendingRedeems()': FunctionFragment;
        'preCycleTimelock()': FunctionFragment;
        'previewDeposit(uint256)': FunctionFragment;
        'previewRedeem(uint256)': FunctionFragment;
        'proxiableUUID()': FunctionFragment;
        'redeem(uint256,address,address)': FunctionFragment;
        'returnMyc(uint256)': FunctionFragment;
        'setCycleLength(uint256)': FunctionFragment;
        'setDepositCap(uint256)': FunctionFragment;
        'setInPausedTransferMode(bool)': FunctionFragment;
        'setMycBuyer(address)': FunctionFragment;
        'setPaused(bool)': FunctionFragment;
        'setPreCycleTimelock(uint256)': FunctionFragment;
        'setUserAutoCompound(bool)': FunctionFragment;
        'signalSetAdmin(address)': FunctionFragment;
        'signalSetGov(address)': FunctionFragment;
        'symbol()': FunctionFragment;
        'totalAssets()': FunctionFragment;
        'totalSupply()': FunctionFragment;
        'transfer(address,uint256)': FunctionFragment;
        'transferFrom(address,address,uint256)': FunctionFragment;
        'trueBalanceOf(address)': FunctionFragment;
        'updateUser(address)': FunctionFragment;
        'upgradeTo(address)': FunctionFragment;
        'upgradeToAndCall(address,bytes)': FunctionFragment;
        'userAutoCompound(address)': FunctionFragment;
        'userCumulativeEthRewards(address)': FunctionFragment;
        'userEthRewardsClaimed(address)': FunctionFragment;
        'userLastUpdated(address)': FunctionFragment;
        'userPendingDeposits(address)': FunctionFragment;
        'userPendingRedeems(address)': FunctionFragment;
        'withdrawEth(uint256)': FunctionFragment;
        'withdrawToken(address,uint256)': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'admin' | 'allowance' | 'amountDeployed' | 'approve' | 'asset' | 'balanceOf' | 'cancelAdminTransfer' | 'cancelGovTransfer' | 'claim' | 'claimAdmin' | 'claimGov' | 'compound' | 'convertToAssets' | 'convertToShares' | 'cycle' | 'cycleCumulativeEthRewards' | 'cycleLength' | 'cycleSharesAndAssets' | 'cycleStartTime' | 'decimals' | 'decreaseAllowance' | 'deposit' | 'depositCap' | 'dust' | 'getClaimableAmount' | 'gov' | 'inPausedTransferMode' | 'increaseAllowance' | 'initialize' | 'latestPendingDeposit' | 'latestPendingRedeem' | 'maxDeposit' | 'maxRedeem' | 'mycBuyer' | 'name' | 'newCycle' | 'paused' | 'pendingDeposits' | 'pendingNewAdmin' | 'pendingNewGov' | 'pendingRedeems' | 'preCycleTimelock' | 'previewDeposit' | 'previewRedeem' | 'proxiableUUID' | 'redeem' | 'returnMyc' | 'setCycleLength' | 'setDepositCap' | 'setInPausedTransferMode' | 'setMycBuyer' | 'setPaused' | 'setPreCycleTimelock' | 'setUserAutoCompound' | 'signalSetAdmin' | 'signalSetGov' | 'symbol' | 'totalAssets' | 'totalSupply' | 'transfer' | 'transferFrom' | 'trueBalanceOf' | 'updateUser' | 'upgradeTo' | 'upgradeToAndCall' | 'userAutoCompound' | 'userCumulativeEthRewards' | 'userEthRewardsClaimed' | 'userLastUpdated' | 'userPendingDeposits' | 'userPendingRedeems' | 'withdrawEth' | 'withdrawToken'): FunctionFragment;
    encodeFunctionData(functionFragment: 'admin', values?: undefined): string;
    encodeFunctionData(functionFragment: 'allowance', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'amountDeployed', values?: undefined): string;
    encodeFunctionData(functionFragment: 'approve', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'asset', values?: undefined): string;
    encodeFunctionData(functionFragment: 'balanceOf', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'cancelAdminTransfer', values?: undefined): string;
    encodeFunctionData(functionFragment: 'cancelGovTransfer', values?: undefined): string;
    encodeFunctionData(functionFragment: 'claim', values: [PromiseOrValue<boolean>, PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'claimAdmin', values?: undefined): string;
    encodeFunctionData(functionFragment: 'claimGov', values?: undefined): string;
    encodeFunctionData(functionFragment: 'compound', values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'convertToAssets', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'convertToShares', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'cycle', values?: undefined): string;
    encodeFunctionData(functionFragment: 'cycleCumulativeEthRewards', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'cycleLength', values?: undefined): string;
    encodeFunctionData(functionFragment: 'cycleSharesAndAssets', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'cycleStartTime', values?: undefined): string;
    encodeFunctionData(functionFragment: 'decimals', values?: undefined): string;
    encodeFunctionData(functionFragment: 'decreaseAllowance', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'deposit', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'depositCap', values?: undefined): string;
    encodeFunctionData(functionFragment: 'dust', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getClaimableAmount', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'gov', values?: undefined): string;
    encodeFunctionData(functionFragment: 'inPausedTransferMode', values?: undefined): string;
    encodeFunctionData(functionFragment: 'increaseAllowance', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'initialize', values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<string>
    ]): string;
    encodeFunctionData(functionFragment: 'latestPendingDeposit', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'latestPendingRedeem', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'maxDeposit', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'maxRedeem', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'mycBuyer', values?: undefined): string;
    encodeFunctionData(functionFragment: 'name', values?: undefined): string;
    encodeFunctionData(functionFragment: 'newCycle', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'paused', values?: undefined): string;
    encodeFunctionData(functionFragment: 'pendingDeposits', values?: undefined): string;
    encodeFunctionData(functionFragment: 'pendingNewAdmin', values?: undefined): string;
    encodeFunctionData(functionFragment: 'pendingNewGov', values?: undefined): string;
    encodeFunctionData(functionFragment: 'pendingRedeems', values?: undefined): string;
    encodeFunctionData(functionFragment: 'preCycleTimelock', values?: undefined): string;
    encodeFunctionData(functionFragment: 'previewDeposit', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'previewRedeem', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'proxiableUUID', values?: undefined): string;
    encodeFunctionData(functionFragment: 'redeem', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'returnMyc', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setCycleLength', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setDepositCap', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setInPausedTransferMode', values: [PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'setMycBuyer', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setPaused', values: [PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'setPreCycleTimelock', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setUserAutoCompound', values: [PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'signalSetAdmin', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'signalSetGov', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'symbol', values?: undefined): string;
    encodeFunctionData(functionFragment: 'totalAssets', values?: undefined): string;
    encodeFunctionData(functionFragment: 'totalSupply', values?: undefined): string;
    encodeFunctionData(functionFragment: 'transfer', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'transferFrom', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'trueBalanceOf', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'updateUser', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'upgradeTo', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'upgradeToAndCall', values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'userAutoCompound', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'userCumulativeEthRewards', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'userEthRewardsClaimed', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'userLastUpdated', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'userPendingDeposits', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'userPendingRedeems', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'withdrawEth', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'withdrawToken', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    decodeFunctionResult(functionFragment: 'admin', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'allowance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'amountDeployed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'approve', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'asset', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'cancelAdminTransfer', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'cancelGovTransfer', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'claim', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'claimAdmin', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'claimGov', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'compound', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'convertToAssets', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'convertToShares', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'cycle', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'cycleCumulativeEthRewards', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'cycleLength', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'cycleSharesAndAssets', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'cycleStartTime', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'decimals', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'decreaseAllowance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'deposit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'depositCap', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'dust', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getClaimableAmount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'gov', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'inPausedTransferMode', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'increaseAllowance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'latestPendingDeposit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'latestPendingRedeem', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'maxDeposit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'maxRedeem', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'mycBuyer', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'name', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'newCycle', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'paused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pendingDeposits', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pendingNewAdmin', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pendingNewGov', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pendingRedeems', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'preCycleTimelock', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'previewDeposit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'previewRedeem', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'proxiableUUID', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'redeem', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'returnMyc', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setCycleLength', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setDepositCap', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setInPausedTransferMode', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setMycBuyer', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setPaused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setPreCycleTimelock', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setUserAutoCompound', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'signalSetAdmin', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'signalSetGov', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'symbol', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalAssets', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalSupply', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transfer', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferFrom', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'trueBalanceOf', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'updateUser', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'upgradeTo', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'upgradeToAndCall', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'userAutoCompound', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'userCumulativeEthRewards', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'userEthRewardsClaimed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'userLastUpdated', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'userPendingDeposits', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'userPendingRedeems', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdrawEth', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdrawToken', data: BytesLike): Result;
    events: {
        'AdminChanged(address,address)': EventFragment;
        'Approval(address,address,uint256)': EventFragment;
        'BeaconUpgraded(address)': EventFragment;
        'CancelAdminTransfer()': EventFragment;
        'CancelGovTransfer()': EventFragment;
        'Claimed(address,bool,uint256)': EventFragment;
        'Compound(address,uint256,uint256)': EventFragment;
        'Deposit(address,uint256)': EventFragment;
        'Initialized(uint8)': EventFragment;
        'NewAdmin(address,address)': EventFragment;
        'NewGov(address,address)': EventFragment;
        'Pause(bool)': EventFragment;
        'Redeem(address,uint256)': EventFragment;
        'SetCycleLength(uint256,uint256)': EventFragment;
        'SetDepositCap(uint256,uint256)': EventFragment;
        'SetMycBuyer(address,address)': EventFragment;
        'SetPausedTransferMode(bool)': EventFragment;
        'SetPreCycleTimelock(uint256,uint256)': EventFragment;
        'SetUserAutoCompound(address,bool)': EventFragment;
        'SignalSetAdmin(address)': EventFragment;
        'SignalSetGov(address)': EventFragment;
        'StartCycle(uint256)': EventFragment;
        'Transfer(address,address,uint256)': EventFragment;
        'Upgraded(address)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'AdminChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Approval'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'BeaconUpgraded'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'CancelAdminTransfer'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'CancelGovTransfer'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Claimed'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Compound'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Deposit'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Initialized'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NewAdmin'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NewGov'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Pause'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Redeem'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SetCycleLength'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SetDepositCap'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SetMycBuyer'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SetPausedTransferMode'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SetPreCycleTimelock'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SetUserAutoCompound'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SignalSetAdmin'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SignalSetGov'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'StartCycle'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Transfer'): 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 ApprovalEventObject {
    owner: string;
    spender: string;
    value: BigNumber;
}
export declare type ApprovalEvent = TypedEvent<[string, string, BigNumber], ApprovalEventObject>;
export declare type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>;
export interface BeaconUpgradedEventObject {
    beacon: string;
}
export declare type BeaconUpgradedEvent = TypedEvent<[string], BeaconUpgradedEventObject>;
export declare type BeaconUpgradedEventFilter = TypedEventFilter<BeaconUpgradedEvent>;
export interface CancelAdminTransferEventObject {
}
export declare type CancelAdminTransferEvent = TypedEvent<[], CancelAdminTransferEventObject>;
export declare type CancelAdminTransferEventFilter = TypedEventFilter<CancelAdminTransferEvent>;
export interface CancelGovTransferEventObject {
}
export declare type CancelGovTransferEvent = TypedEvent<[], CancelGovTransferEventObject>;
export declare type CancelGovTransferEventFilter = TypedEventFilter<CancelGovTransferEvent>;
export interface ClaimedEventObject {
    claimant: string;
    asMyc: boolean;
    rewards: BigNumber;
}
export declare type ClaimedEvent = TypedEvent<[string, boolean, BigNumber], ClaimedEventObject>;
export declare type ClaimedEventFilter = TypedEventFilter<ClaimedEvent>;
export interface CompoundEventObject {
    user: string;
    ethAmount: BigNumber;
    mycAmount: BigNumber;
}
export declare type CompoundEvent = TypedEvent<[string, BigNumber, BigNumber], CompoundEventObject>;
export declare type CompoundEventFilter = TypedEventFilter<CompoundEvent>;
export interface DepositEventObject {
    depositor: string;
    amount: BigNumber;
}
export declare type DepositEvent = TypedEvent<[string, BigNumber], DepositEventObject>;
export declare type DepositEventFilter = TypedEventFilter<DepositEvent>;
export interface InitializedEventObject {
    version: number;
}
export declare type InitializedEvent = TypedEvent<[number], InitializedEventObject>;
export declare type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
export interface NewAdminEventObject {
    oldAdmin: string;
    newAdmin: string;
}
export declare type NewAdminEvent = TypedEvent<[string, string], NewAdminEventObject>;
export declare type NewAdminEventFilter = TypedEventFilter<NewAdminEvent>;
export interface NewGovEventObject {
    oldGov: string;
    newGov: string;
}
export declare type NewGovEvent = TypedEvent<[string, string], NewGovEventObject>;
export declare type NewGovEventFilter = TypedEventFilter<NewGovEvent>;
export interface PauseEventObject {
    paused: boolean;
}
export declare type PauseEvent = TypedEvent<[boolean], PauseEventObject>;
export declare type PauseEventFilter = TypedEventFilter<PauseEvent>;
export interface RedeemEventObject {
    redeemor: string;
    amount: BigNumber;
}
export declare type RedeemEvent = TypedEvent<[string, BigNumber], RedeemEventObject>;
export declare type RedeemEventFilter = TypedEventFilter<RedeemEvent>;
export interface SetCycleLengthEventObject {
    oldCycleLength: BigNumber;
    newCycleLength: BigNumber;
}
export declare type SetCycleLengthEvent = TypedEvent<[BigNumber, BigNumber], SetCycleLengthEventObject>;
export declare type SetCycleLengthEventFilter = TypedEventFilter<SetCycleLengthEvent>;
export interface SetDepositCapEventObject {
    depositCap: BigNumber;
    newDepositCap: BigNumber;
}
export declare type SetDepositCapEvent = TypedEvent<[BigNumber, BigNumber], SetDepositCapEventObject>;
export declare type SetDepositCapEventFilter = TypedEventFilter<SetDepositCapEvent>;
export interface SetMycBuyerEventObject {
    oldMycBuyer: string;
    newMycBuyer: string;
}
export declare type SetMycBuyerEvent = TypedEvent<[string, string], SetMycBuyerEventObject>;
export declare type SetMycBuyerEventFilter = TypedEventFilter<SetMycBuyerEvent>;
export interface SetPausedTransferModeEventObject {
    _pausedTransferMode: boolean;
}
export declare type SetPausedTransferModeEvent = TypedEvent<[boolean], SetPausedTransferModeEventObject>;
export declare type SetPausedTransferModeEventFilter = TypedEventFilter<SetPausedTransferModeEvent>;
export interface SetPreCycleTimelockEventObject {
    oldPreCycleTimelock: BigNumber;
    preCycleTimelock: BigNumber;
}
export declare type SetPreCycleTimelockEvent = TypedEvent<[BigNumber, BigNumber], SetPreCycleTimelockEventObject>;
export declare type SetPreCycleTimelockEventFilter = TypedEventFilter<SetPreCycleTimelockEvent>;
export interface SetUserAutoCompoundEventObject {
    user: string;
    autoCompound: boolean;
}
export declare type SetUserAutoCompoundEvent = TypedEvent<[string, boolean], SetUserAutoCompoundEventObject>;
export declare type SetUserAutoCompoundEventFilter = TypedEventFilter<SetUserAutoCompoundEvent>;
export interface SignalSetAdminEventObject {
    _admin: string;
}
export declare type SignalSetAdminEvent = TypedEvent<[string], SignalSetAdminEventObject>;
export declare type SignalSetAdminEventFilter = TypedEventFilter<SignalSetAdminEvent>;
export interface SignalSetGovEventObject {
    newGov: string;
}
export declare type SignalSetGovEvent = TypedEvent<[string], SignalSetGovEventObject>;
export declare type SignalSetGovEventFilter = TypedEventFilter<SignalSetGovEvent>;
export interface StartCycleEventObject {
    cycleStartTime: BigNumber;
}
export declare type StartCycleEvent = TypedEvent<[BigNumber], StartCycleEventObject>;
export declare type StartCycleEventFilter = TypedEventFilter<StartCycleEvent>;
export interface TransferEventObject {
    from: string;
    to: string;
    value: BigNumber;
}
export declare type TransferEvent = TypedEvent<[string, string, BigNumber], TransferEventObject>;
export declare type TransferEventFilter = TypedEventFilter<TransferEvent>;
export interface UpgradedEventObject {
    implementation: string;
}
export declare type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>;
export declare type UpgradedEventFilter = TypedEventFilter<UpgradedEvent>;
export interface MyceliumStaking extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: MyceliumStakingInterface;
    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: {
        admin(overrides?: CallOverrides): Promise<[string]>;
        allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        amountDeployed(overrides?: CallOverrides): Promise<[BigNumber]>;
        approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        asset(overrides?: CallOverrides): Promise<[string]>;
        balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        cancelAdminTransfer(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        cancelGovTransfer(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        claim(asMyc: PromiseOrValue<boolean>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        claimAdmin(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        claimGov(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        compound(user: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        convertToAssets(_shares: PromiseOrValue<BigNumberish>, _totalAssets: PromiseOrValue<BigNumberish>, _totalSupply: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        convertToShares(_assets: PromiseOrValue<BigNumberish>, _totalAssets: PromiseOrValue<BigNumberish>, _totalSupply: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        cycle(overrides?: CallOverrides): Promise<[BigNumber]>;
        cycleCumulativeEthRewards(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        cycleLength(overrides?: CallOverrides): Promise<[BigNumber]>;
        cycleSharesAndAssets(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber
        ] & {
            _totalSupply: BigNumber;
            _totalAssets: BigNumber;
        }>;
        cycleStartTime(overrides?: CallOverrides): Promise<[BigNumber]>;
        decimals(overrides?: CallOverrides): Promise<[number]>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        deposit(assets: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        depositCap(overrides?: CallOverrides): Promise<[BigNumber]>;
        dust(overrides?: CallOverrides): Promise<[BigNumber]>;
        getClaimableAmount(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        gov(overrides?: CallOverrides): Promise<[string]>;
        inPausedTransferMode(overrides?: CallOverrides): Promise<[boolean]>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        initialize(_myc: PromiseOrValue<string>, _gov: PromiseOrValue<string>, _cycleLength: PromiseOrValue<BigNumberish>, _firstCycleStart: PromiseOrValue<BigNumberish>, _preCycleTimelock: PromiseOrValue<BigNumberish>, _depositCap: PromiseOrValue<BigNumberish>, _admin: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        latestPendingDeposit(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        latestPendingRedeem(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        maxDeposit(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        maxRedeem(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        mycBuyer(overrides?: CallOverrides): Promise<[string]>;
        name(overrides?: CallOverrides): Promise<[string]>;
        newCycle(mycLostLastCycle: PromiseOrValue<BigNumberish>, amountToWithdraw: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        paused(overrides?: CallOverrides): Promise<[boolean]>;
        pendingDeposits(overrides?: CallOverrides): Promise<[BigNumber]>;
        pendingNewAdmin(overrides?: CallOverrides): Promise<[string]>;
        pendingNewGov(overrides?: CallOverrides): Promise<[string]>;
        pendingRedeems(overrides?: CallOverrides): Promise<[BigNumber]>;
        preCycleTimelock(overrides?: CallOverrides): Promise<[BigNumber]>;
        previewDeposit(assets: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        previewRedeem(shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        proxiableUUID(overrides?: CallOverrides): Promise<[string]>;
        redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        returnMyc(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setCycleLength(newCycleLength: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setDepositCap(newDepositCap: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setInPausedTransferMode(_pausedTransferMode: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setMycBuyer(_mycBuyer: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setPaused(_paused: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setPreCycleTimelock(newPreCycleTimelock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setUserAutoCompound(autoCompound: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        signalSetAdmin(_admin: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        signalSetGov(_gov: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        symbol(overrides?: CallOverrides): Promise<[string]>;
        totalAssets(overrides?: CallOverrides): Promise<[BigNumber]>;
        totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
        transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        trueBalanceOf(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        updateUser(user: 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>;
        userAutoCompound(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        userCumulativeEthRewards(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        userEthRewardsClaimed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        userLastUpdated(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        userPendingDeposits(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        userPendingRedeems(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        withdrawEth(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        withdrawToken(token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
    };
    admin(overrides?: CallOverrides): Promise<string>;
    allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    amountDeployed(overrides?: CallOverrides): Promise<BigNumber>;
    approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    asset(overrides?: CallOverrides): Promise<string>;
    balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    cancelAdminTransfer(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    cancelGovTransfer(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    claim(asMyc: PromiseOrValue<boolean>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    claimAdmin(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    claimGov(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    compound(user: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    convertToAssets(_shares: PromiseOrValue<BigNumberish>, _totalAssets: PromiseOrValue<BigNumberish>, _totalSupply: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    convertToShares(_assets: PromiseOrValue<BigNumberish>, _totalAssets: PromiseOrValue<BigNumberish>, _totalSupply: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    cycle(overrides?: CallOverrides): Promise<BigNumber>;
    cycleCumulativeEthRewards(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    cycleLength(overrides?: CallOverrides): Promise<BigNumber>;
    cycleSharesAndAssets(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
        BigNumber,
        BigNumber
    ] & {
        _totalSupply: BigNumber;
        _totalAssets: BigNumber;
    }>;
    cycleStartTime(overrides?: CallOverrides): Promise<BigNumber>;
    decimals(overrides?: CallOverrides): Promise<number>;
    decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    deposit(assets: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    depositCap(overrides?: CallOverrides): Promise<BigNumber>;
    dust(overrides?: CallOverrides): Promise<BigNumber>;
    getClaimableAmount(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    gov(overrides?: CallOverrides): Promise<string>;
    inPausedTransferMode(overrides?: CallOverrides): Promise<boolean>;
    increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    initialize(_myc: PromiseOrValue<string>, _gov: PromiseOrValue<string>, _cycleLength: PromiseOrValue<BigNumberish>, _firstCycleStart: PromiseOrValue<BigNumberish>, _preCycleTimelock: PromiseOrValue<BigNumberish>, _depositCap: PromiseOrValue<BigNumberish>, _admin: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    latestPendingDeposit(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    latestPendingRedeem(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    maxDeposit(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    maxRedeem(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    mycBuyer(overrides?: CallOverrides): Promise<string>;
    name(overrides?: CallOverrides): Promise<string>;
    newCycle(mycLostLastCycle: PromiseOrValue<BigNumberish>, amountToWithdraw: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    paused(overrides?: CallOverrides): Promise<boolean>;
    pendingDeposits(overrides?: CallOverrides): Promise<BigNumber>;
    pendingNewAdmin(overrides?: CallOverrides): Promise<string>;
    pendingNewGov(overrides?: CallOverrides): Promise<string>;
    pendingRedeems(overrides?: CallOverrides): Promise<BigNumber>;
    preCycleTimelock(overrides?: CallOverrides): Promise<BigNumber>;
    previewDeposit(assets: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    previewRedeem(shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    proxiableUUID(overrides?: CallOverrides): Promise<string>;
    redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    returnMyc(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setCycleLength(newCycleLength: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setDepositCap(newDepositCap: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setInPausedTransferMode(_pausedTransferMode: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setMycBuyer(_mycBuyer: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setPaused(_paused: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setPreCycleTimelock(newPreCycleTimelock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setUserAutoCompound(autoCompound: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    signalSetAdmin(_admin: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    signalSetGov(_gov: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    symbol(overrides?: CallOverrides): Promise<string>;
    totalAssets(overrides?: CallOverrides): Promise<BigNumber>;
    totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
    transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    trueBalanceOf(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    updateUser(user: 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>;
    userAutoCompound(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    userCumulativeEthRewards(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    userEthRewardsClaimed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    userLastUpdated(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    userPendingDeposits(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    userPendingRedeems(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    withdrawEth(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    withdrawToken(token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    callStatic: {
        admin(overrides?: CallOverrides): Promise<string>;
        allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        amountDeployed(overrides?: CallOverrides): Promise<BigNumber>;
        approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        asset(overrides?: CallOverrides): Promise<string>;
        balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        cancelAdminTransfer(overrides?: CallOverrides): Promise<void>;
        cancelGovTransfer(overrides?: CallOverrides): Promise<void>;
        claim(asMyc: PromiseOrValue<boolean>, data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        claimAdmin(overrides?: CallOverrides): Promise<void>;
        claimGov(overrides?: CallOverrides): Promise<void>;
        compound(user: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        convertToAssets(_shares: PromiseOrValue<BigNumberish>, _totalAssets: PromiseOrValue<BigNumberish>, _totalSupply: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        convertToShares(_assets: PromiseOrValue<BigNumberish>, _totalAssets: PromiseOrValue<BigNumberish>, _totalSupply: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        cycle(overrides?: CallOverrides): Promise<BigNumber>;
        cycleCumulativeEthRewards(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        cycleLength(overrides?: CallOverrides): Promise<BigNumber>;
        cycleSharesAndAssets(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber
        ] & {
            _totalSupply: BigNumber;
            _totalAssets: BigNumber;
        }>;
        cycleStartTime(overrides?: CallOverrides): Promise<BigNumber>;
        decimals(overrides?: CallOverrides): Promise<number>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        deposit(assets: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        depositCap(overrides?: CallOverrides): Promise<BigNumber>;
        dust(overrides?: CallOverrides): Promise<BigNumber>;
        getClaimableAmount(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        gov(overrides?: CallOverrides): Promise<string>;
        inPausedTransferMode(overrides?: CallOverrides): Promise<boolean>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        initialize(_myc: PromiseOrValue<string>, _gov: PromiseOrValue<string>, _cycleLength: PromiseOrValue<BigNumberish>, _firstCycleStart: PromiseOrValue<BigNumberish>, _preCycleTimelock: PromiseOrValue<BigNumberish>, _depositCap: PromiseOrValue<BigNumberish>, _admin: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        latestPendingDeposit(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        latestPendingRedeem(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        maxDeposit(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        maxRedeem(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        mycBuyer(overrides?: CallOverrides): Promise<string>;
        name(overrides?: CallOverrides): Promise<string>;
        newCycle(mycLostLastCycle: PromiseOrValue<BigNumberish>, amountToWithdraw: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        paused(overrides?: CallOverrides): Promise<boolean>;
        pendingDeposits(overrides?: CallOverrides): Promise<BigNumber>;
        pendingNewAdmin(overrides?: CallOverrides): Promise<string>;
        pendingNewGov(overrides?: CallOverrides): Promise<string>;
        pendingRedeems(overrides?: CallOverrides): Promise<BigNumber>;
        preCycleTimelock(overrides?: CallOverrides): Promise<BigNumber>;
        previewDeposit(assets: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        previewRedeem(shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        proxiableUUID(overrides?: CallOverrides): Promise<string>;
        redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        returnMyc(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setCycleLength(newCycleLength: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setDepositCap(newDepositCap: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setInPausedTransferMode(_pausedTransferMode: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        setMycBuyer(_mycBuyer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setPaused(_paused: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        setPreCycleTimelock(newPreCycleTimelock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setUserAutoCompound(autoCompound: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        signalSetAdmin(_admin: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        signalSetGov(_gov: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        symbol(overrides?: CallOverrides): Promise<string>;
        totalAssets(overrides?: CallOverrides): Promise<BigNumber>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        trueBalanceOf(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        updateUser(user: 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>;
        userAutoCompound(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        userCumulativeEthRewards(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        userEthRewardsClaimed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        userLastUpdated(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        userPendingDeposits(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        userPendingRedeems(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        withdrawEth(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        withdrawToken(token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
    };
    filters: {
        'AdminChanged(address,address)'(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
        AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
        'Approval(address,address,uint256)'(owner?: PromiseOrValue<string> | null, spender?: PromiseOrValue<string> | null, value?: null): ApprovalEventFilter;
        Approval(owner?: PromiseOrValue<string> | null, spender?: PromiseOrValue<string> | null, value?: null): ApprovalEventFilter;
        'BeaconUpgraded(address)'(beacon?: PromiseOrValue<string> | null): BeaconUpgradedEventFilter;
        BeaconUpgraded(beacon?: PromiseOrValue<string> | null): BeaconUpgradedEventFilter;
        'CancelAdminTransfer()'(): CancelAdminTransferEventFilter;
        CancelAdminTransfer(): CancelAdminTransferEventFilter;
        'CancelGovTransfer()'(): CancelGovTransferEventFilter;
        CancelGovTransfer(): CancelGovTransferEventFilter;
        'Claimed(address,bool,uint256)'(claimant?: null, asMyc?: null, rewards?: null): ClaimedEventFilter;
        Claimed(claimant?: null, asMyc?: null, rewards?: null): ClaimedEventFilter;
        'Compound(address,uint256,uint256)'(user?: null, ethAmount?: null, mycAmount?: null): CompoundEventFilter;
        Compound(user?: null, ethAmount?: null, mycAmount?: null): CompoundEventFilter;
        'Deposit(address,uint256)'(depositor?: null, amount?: null): DepositEventFilter;
        Deposit(depositor?: null, amount?: null): DepositEventFilter;
        'Initialized(uint8)'(version?: null): InitializedEventFilter;
        Initialized(version?: null): InitializedEventFilter;
        'NewAdmin(address,address)'(oldAdmin?: null, newAdmin?: null): NewAdminEventFilter;
        NewAdmin(oldAdmin?: null, newAdmin?: null): NewAdminEventFilter;
        'NewGov(address,address)'(oldGov?: null, newGov?: null): NewGovEventFilter;
        NewGov(oldGov?: null, newGov?: null): NewGovEventFilter;
        'Pause(bool)'(paused?: null): PauseEventFilter;
        Pause(paused?: null): PauseEventFilter;
        'Redeem(address,uint256)'(redeemor?: null, amount?: null): RedeemEventFilter;
        Redeem(redeemor?: null, amount?: null): RedeemEventFilter;
        'SetCycleLength(uint256,uint256)'(oldCycleLength?: null, newCycleLength?: null): SetCycleLengthEventFilter;
        SetCycleLength(oldCycleLength?: null, newCycleLength?: null): SetCycleLengthEventFilter;
        'SetDepositCap(uint256,uint256)'(depositCap?: null, newDepositCap?: null): SetDepositCapEventFilter;
        SetDepositCap(depositCap?: null, newDepositCap?: null): SetDepositCapEventFilter;
        'SetMycBuyer(address,address)'(oldMycBuyer?: null, newMycBuyer?: null): SetMycBuyerEventFilter;
        SetMycBuyer(oldMycBuyer?: null, newMycBuyer?: null): SetMycBuyerEventFilter;
        'SetPausedTransferMode(bool)'(_pausedTransferMode?: null): SetPausedTransferModeEventFilter;
        SetPausedTransferMode(_pausedTransferMode?: null): SetPausedTransferModeEventFilter;
        'SetPreCycleTimelock(uint256,uint256)'(oldPreCycleTimelock?: null, preCycleTimelock?: null): SetPreCycleTimelockEventFilter;
        SetPreCycleTimelock(oldPreCycleTimelock?: null, preCycleTimelock?: null): SetPreCycleTimelockEventFilter;
        'SetUserAutoCompound(address,bool)'(user?: null, autoCompound?: null): SetUserAutoCompoundEventFilter;
        SetUserAutoCompound(user?: null, autoCompound?: null): SetUserAutoCompoundEventFilter;
        'SignalSetAdmin(address)'(_admin?: null): SignalSetAdminEventFilter;
        SignalSetAdmin(_admin?: null): SignalSetAdminEventFilter;
        'SignalSetGov(address)'(newGov?: null): SignalSetGovEventFilter;
        SignalSetGov(newGov?: null): SignalSetGovEventFilter;
        'StartCycle(uint256)'(cycleStartTime?: null): StartCycleEventFilter;
        StartCycle(cycleStartTime?: null): StartCycleEventFilter;
        'Transfer(address,address,uint256)'(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, value?: null): TransferEventFilter;
        Transfer(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, value?: null): TransferEventFilter;
        'Upgraded(address)'(implementation?: PromiseOrValue<string> | null): UpgradedEventFilter;
        Upgraded(implementation?: PromiseOrValue<string> | null): UpgradedEventFilter;
    };
    estimateGas: {
        admin(overrides?: CallOverrides): Promise<BigNumber>;
        allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        amountDeployed(overrides?: CallOverrides): Promise<BigNumber>;
        approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        asset(overrides?: CallOverrides): Promise<BigNumber>;
        balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        cancelAdminTransfer(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        cancelGovTransfer(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        claim(asMyc: PromiseOrValue<boolean>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        claimAdmin(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        claimGov(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        compound(user: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        convertToAssets(_shares: PromiseOrValue<BigNumberish>, _totalAssets: PromiseOrValue<BigNumberish>, _totalSupply: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        convertToShares(_assets: PromiseOrValue<BigNumberish>, _totalAssets: PromiseOrValue<BigNumberish>, _totalSupply: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        cycle(overrides?: CallOverrides): Promise<BigNumber>;
        cycleCumulativeEthRewards(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        cycleLength(overrides?: CallOverrides): Promise<BigNumber>;
        cycleSharesAndAssets(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        cycleStartTime(overrides?: CallOverrides): Promise<BigNumber>;
        decimals(overrides?: CallOverrides): Promise<BigNumber>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        deposit(assets: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        depositCap(overrides?: CallOverrides): Promise<BigNumber>;
        dust(overrides?: CallOverrides): Promise<BigNumber>;
        getClaimableAmount(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        gov(overrides?: CallOverrides): Promise<BigNumber>;
        inPausedTransferMode(overrides?: CallOverrides): Promise<BigNumber>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        initialize(_myc: PromiseOrValue<string>, _gov: PromiseOrValue<string>, _cycleLength: PromiseOrValue<BigNumberish>, _firstCycleStart: PromiseOrValue<BigNumberish>, _preCycleTimelock: PromiseOrValue<BigNumberish>, _depositCap: PromiseOrValue<BigNumberish>, _admin: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        latestPendingDeposit(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        latestPendingRedeem(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        maxDeposit(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        maxRedeem(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        mycBuyer(overrides?: CallOverrides): Promise<BigNumber>;
        name(overrides?: CallOverrides): Promise<BigNumber>;
        newCycle(mycLostLastCycle: PromiseOrValue<BigNumberish>, amountToWithdraw: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        paused(overrides?: CallOverrides): Promise<BigNumber>;
        pendingDeposits(overrides?: CallOverrides): Promise<BigNumber>;
        pendingNewAdmin(overrides?: CallOverrides): Promise<BigNumber>;
        pendingNewGov(overrides?: CallOverrides): Promise<BigNumber>;
        pendingRedeems(overrides?: CallOverrides): Promise<BigNumber>;
        preCycleTimelock(overrides?: CallOverrides): Promise<BigNumber>;
        previewDeposit(assets: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        previewRedeem(shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        proxiableUUID(overrides?: CallOverrides): Promise<BigNumber>;
        redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        returnMyc(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setCycleLength(newCycleLength: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setDepositCap(newDepositCap: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setInPausedTransferMode(_pausedTransferMode: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setMycBuyer(_mycBuyer: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setPaused(_paused: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setPreCycleTimelock(newPreCycleTimelock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setUserAutoCompound(autoCompound: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        signalSetAdmin(_admin: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        signalSetGov(_gov: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        symbol(overrides?: CallOverrides): Promise<BigNumber>;
        totalAssets(overrides?: CallOverrides): Promise<BigNumber>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        trueBalanceOf(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        updateUser(user: 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>;
        userAutoCompound(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        userCumulativeEthRewards(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        userEthRewardsClaimed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        userLastUpdated(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        userPendingDeposits(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        userPendingRedeems(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        withdrawEth(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        withdrawToken(token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        admin(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        amountDeployed(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        asset(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        cancelAdminTransfer(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        cancelGovTransfer(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        claim(asMyc: PromiseOrValue<boolean>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        claimAdmin(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        claimGov(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        compound(user: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        convertToAssets(_shares: PromiseOrValue<BigNumberish>, _totalAssets: PromiseOrValue<BigNumberish>, _totalSupply: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        convertToShares(_assets: PromiseOrValue<BigNumberish>, _totalAssets: PromiseOrValue<BigNumberish>, _totalSupply: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        cycle(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        cycleCumulativeEthRewards(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        cycleLength(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        cycleSharesAndAssets(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        cycleStartTime(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        decimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        deposit(assets: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        depositCap(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        dust(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getClaimableAmount(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        gov(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        inPausedTransferMode(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        initialize(_myc: PromiseOrValue<string>, _gov: PromiseOrValue<string>, _cycleLength: PromiseOrValue<BigNumberish>, _firstCycleStart: PromiseOrValue<BigNumberish>, _preCycleTimelock: PromiseOrValue<BigNumberish>, _depositCap: PromiseOrValue<BigNumberish>, _admin: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        latestPendingDeposit(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        latestPendingRedeem(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        maxDeposit(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        maxRedeem(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        mycBuyer(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        newCycle(mycLostLastCycle: PromiseOrValue<BigNumberish>, amountToWithdraw: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        paused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pendingDeposits(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pendingNewAdmin(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pendingNewGov(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pendingRedeems(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        preCycleTimelock(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        previewDeposit(assets: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        previewRedeem(shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        proxiableUUID(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        redeem(shares: PromiseOrValue<BigNumberish>, receiver: PromiseOrValue<string>, owner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        returnMyc(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setCycleLength(newCycleLength: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setDepositCap(newDepositCap: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setInPausedTransferMode(_pausedTransferMode: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setMycBuyer(_mycBuyer: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setPaused(_paused: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setPreCycleTimelock(newPreCycleTimelock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setUserAutoCompound(autoCompound: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        signalSetAdmin(_admin: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        signalSetGov(_gov: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        symbol(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalAssets(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        trueBalanceOf(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        updateUser(user: 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>;
        userAutoCompound(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        userCumulativeEthRewards(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        userEthRewardsClaimed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        userLastUpdated(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        userPendingDeposits(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        userPendingRedeems(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        withdrawEth(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        withdrawToken(token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
    };
}
