import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, 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 LsdcnvInterface extends utils.Interface {
    functions: {
        'BONDS()': FunctionFragment;
        'CNV()': FunctionFragment;
        'COOP()': FunctionFragment;
        'DEFAULT_ADMIN_ROLE()': FunctionFragment;
        'POLICY_ROLE()': FunctionFragment;
        'TREASURY_ROLE()': FunctionFragment;
        'URI_ADDRESS()': FunctionFragment;
        'VALUESHUTTLE()': FunctionFragment;
        '_calculateCOOPRate(uint256,uint256)': FunctionFragment;
        '_poolIndex(uint256,uint256)': FunctionFragment;
        'approve(address,uint256)': FunctionFragment;
        'apyPerRebase()': FunctionFragment;
        'balanceOf(address)': FunctionFragment;
        'circulatingSupply()': FunctionFragment;
        'coopRateMax()': FunctionFragment;
        'coopRatePriceControl()': FunctionFragment;
        'getApproved(uint256)': FunctionFragment;
        'getRoleAdmin(bytes32)': FunctionFragment;
        'globalExcess()': FunctionFragment;
        'grantRole(bytes32,address)': FunctionFragment;
        'haogegeControl()': FunctionFragment;
        'hasRole(bytes32,address)': FunctionFragment;
        'initialize(address,address,address,address,address,address,uint256,uint256,uint256,uint256,uint256)': FunctionFragment;
        'isApprovedForAll(address,address)': FunctionFragment;
        'lastRebaseTime()': FunctionFragment;
        'lock(address,uint256,uint256)': FunctionFragment;
        'lockPoolsLength()': FunctionFragment;
        'lockWithPermit(address,uint256,uint256,uint256,uint8,bytes32,bytes32)': FunctionFragment;
        'lockedExcessRewards()': FunctionFragment;
        'manageLockPool(uint256,uint64,uint256,uint256)': FunctionFragment;
        'manualExcessDistribution(uint256[])': FunctionFragment;
        'minPrice()': FunctionFragment;
        'name()': FunctionFragment;
        'openLockPool(uint64,uint256,uint256)': FunctionFragment;
        'ownerOf(uint256)': FunctionFragment;
        'paused()': FunctionFragment;
        'pools(uint256)': FunctionFragment;
        'positions(uint256)': FunctionFragment;
        'rebase()': FunctionFragment;
        'rebaseIncentive()': FunctionFragment;
        'rebaseInterval()': FunctionFragment;
        'renounceRole(bytes32,address)': FunctionFragment;
        'revokeRole(bytes32,address)': FunctionFragment;
        'safeTransferFrom(address,address,uint256)': FunctionFragment;
        'safeTransferFrom(address,address,uint256,bytes)': FunctionFragment;
        'setAPYPerRebase(uint256)': FunctionFragment;
        'setAddress(uint8,address)': FunctionFragment;
        'setApprovalForAll(address,bool)': FunctionFragment;
        'setCOOPParameters(uint256,uint256,uint256)': FunctionFragment;
        'setMinPrice(uint256)': FunctionFragment;
        'setPause(bool)': FunctionFragment;
        'setRebaseIncentive(uint256)': FunctionFragment;
        'setRebaseInterval(uint256)': FunctionFragment;
        'supportsInterface(bytes4)': FunctionFragment;
        'symbol()': FunctionFragment;
        'tokenURI(uint256)': FunctionFragment;
        'totalSupply()': FunctionFragment;
        'transferFrom(address,address,uint256)': FunctionFragment;
        'unlock(address,uint256)': FunctionFragment;
        'viewPositionRewards(uint256)': FunctionFragment;
        'viewStakingCap(uint256)': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'BONDS' | 'CNV' | 'COOP' | 'DEFAULT_ADMIN_ROLE' | 'POLICY_ROLE' | 'TREASURY_ROLE' | 'URI_ADDRESS' | 'VALUESHUTTLE' | '_calculateCOOPRate' | '_poolIndex' | 'approve' | 'apyPerRebase' | 'balanceOf' | 'circulatingSupply' | 'coopRateMax' | 'coopRatePriceControl' | 'getApproved' | 'getRoleAdmin' | 'globalExcess' | 'grantRole' | 'haogegeControl' | 'hasRole' | 'initialize' | 'isApprovedForAll' | 'lastRebaseTime' | 'lock' | 'lockPoolsLength' | 'lockWithPermit' | 'lockedExcessRewards' | 'manageLockPool' | 'manualExcessDistribution' | 'minPrice' | 'name' | 'openLockPool' | 'ownerOf' | 'paused' | 'pools' | 'positions' | 'rebase' | 'rebaseIncentive' | 'rebaseInterval' | 'renounceRole' | 'revokeRole' | 'safeTransferFrom(address,address,uint256)' | 'safeTransferFrom(address,address,uint256,bytes)' | 'setAPYPerRebase' | 'setAddress' | 'setApprovalForAll' | 'setCOOPParameters' | 'setMinPrice' | 'setPause' | 'setRebaseIncentive' | 'setRebaseInterval' | 'supportsInterface' | 'symbol' | 'tokenURI' | 'totalSupply' | 'transferFrom' | 'unlock' | 'viewPositionRewards' | 'viewStakingCap'): FunctionFragment;
    encodeFunctionData(functionFragment: 'BONDS', values?: undefined): string;
    encodeFunctionData(functionFragment: 'CNV', values?: undefined): string;
    encodeFunctionData(functionFragment: 'COOP', values?: undefined): string;
    encodeFunctionData(functionFragment: 'DEFAULT_ADMIN_ROLE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'POLICY_ROLE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'TREASURY_ROLE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'URI_ADDRESS', values?: undefined): string;
    encodeFunctionData(functionFragment: 'VALUESHUTTLE', values?: undefined): string;
    encodeFunctionData(functionFragment: '_calculateCOOPRate', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: '_poolIndex', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'approve', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'apyPerRebase', values?: undefined): string;
    encodeFunctionData(functionFragment: 'balanceOf', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'circulatingSupply', values?: undefined): string;
    encodeFunctionData(functionFragment: 'coopRateMax', values?: undefined): string;
    encodeFunctionData(functionFragment: 'coopRatePriceControl', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getApproved', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getRoleAdmin', values: [PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'globalExcess', values?: undefined): string;
    encodeFunctionData(functionFragment: 'grantRole', values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'haogegeControl', values?: undefined): string;
    encodeFunctionData(functionFragment: 'hasRole', values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'initialize', values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: 'isApprovedForAll', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'lastRebaseTime', values?: undefined): string;
    encodeFunctionData(functionFragment: 'lock', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'lockPoolsLength', values?: undefined): string;
    encodeFunctionData(functionFragment: 'lockWithPermit', values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>
    ]): string;
    encodeFunctionData(functionFragment: 'lockedExcessRewards', values?: undefined): string;
    encodeFunctionData(functionFragment: 'manageLockPool', values: [
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: 'manualExcessDistribution', values: [PromiseOrValue<BigNumberish>[]]): string;
    encodeFunctionData(functionFragment: 'minPrice', values?: undefined): string;
    encodeFunctionData(functionFragment: 'name', values?: undefined): string;
    encodeFunctionData(functionFragment: 'openLockPool', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'ownerOf', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'paused', values?: undefined): string;
    encodeFunctionData(functionFragment: 'pools', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'positions', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'rebase', values?: undefined): string;
    encodeFunctionData(functionFragment: 'rebaseIncentive', values?: undefined): string;
    encodeFunctionData(functionFragment: 'rebaseInterval', values?: undefined): string;
    encodeFunctionData(functionFragment: 'renounceRole', values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'revokeRole', values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'safeTransferFrom(address,address,uint256)', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'safeTransferFrom(address,address,uint256,bytes)', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'setAPYPerRebase', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setAddress', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setApprovalForAll', values: [PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'setCOOPParameters', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setMinPrice', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setPause', values: [PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'setRebaseIncentive', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setRebaseInterval', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'supportsInterface', values: [PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'symbol', values?: undefined): string;
    encodeFunctionData(functionFragment: 'tokenURI', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'totalSupply', values?: undefined): string;
    encodeFunctionData(functionFragment: 'transferFrom', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'unlock', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'viewPositionRewards', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'viewStakingCap', values: [PromiseOrValue<BigNumberish>]): string;
    decodeFunctionResult(functionFragment: 'BONDS', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'CNV', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'COOP', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'DEFAULT_ADMIN_ROLE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'POLICY_ROLE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'TREASURY_ROLE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'URI_ADDRESS', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'VALUESHUTTLE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_calculateCOOPRate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_poolIndex', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'approve', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'apyPerRebase', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'circulatingSupply', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'coopRateMax', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'coopRatePriceControl', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getApproved', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRoleAdmin', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'globalExcess', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'grantRole', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'haogegeControl', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'hasRole', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isApprovedForAll', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lastRebaseTime', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lock', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lockPoolsLength', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lockWithPermit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lockedExcessRewards', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'manageLockPool', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'manualExcessDistribution', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'minPrice', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'name', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'openLockPool', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerOf', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'paused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pools', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'positions', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rebase', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rebaseIncentive', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rebaseInterval', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'renounceRole', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'revokeRole', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'safeTransferFrom(address,address,uint256)', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'safeTransferFrom(address,address,uint256,bytes)', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setAPYPerRebase', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setAddress', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setApprovalForAll', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setCOOPParameters', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setMinPrice', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setPause', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setRebaseIncentive', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setRebaseInterval', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'supportsInterface', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'symbol', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'tokenURI', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalSupply', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferFrom', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'unlock', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'viewPositionRewards', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'viewStakingCap', data: BytesLike): Result;
    events: {
        'AddressManaged(uint8,address)': EventFragment;
        'Approval(address,address,uint256)': EventFragment;
        'ApprovalForAll(address,address,bool)': EventFragment;
        'CoopRateManaged(uint256,uint256,uint256)': EventFragment;
        'ExcessRewardsDistributed(uint256,uint256)': EventFragment;
        'Lock(uint256,uint256,uint256,address)': EventFragment;
        'MinPriceManaged(uint256)': EventFragment;
        'Paused(address)': EventFragment;
        'PoolManaged(uint64,uint256,uint256,uint256)': EventFragment;
        'PoolOpened(uint64,uint256,uint256,uint256)': EventFragment;
        'PoolRewarded(uint256,uint256,uint256,uint256)': EventFragment;
        'Rebase(uint256,uint256,uint256)': EventFragment;
        'RebaseAPYManaged(uint256)': EventFragment;
        'RebaseIncentiveManaged(uint256)': EventFragment;
        'RebaseIntervalManaged(uint256)': EventFragment;
        'RoleAdminChanged(bytes32,bytes32,bytes32)': EventFragment;
        'RoleGranted(bytes32,address,address)': EventFragment;
        'RoleRevoked(bytes32,address,address)': EventFragment;
        'Transfer(address,address,uint256)': EventFragment;
        'Unlock(uint256,uint256,address)': EventFragment;
        'Unpaused(address)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'AddressManaged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Approval'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ApprovalForAll'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'CoopRateManaged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ExcessRewardsDistributed'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Lock'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'MinPriceManaged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Paused'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PoolManaged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PoolOpened'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PoolRewarded'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Rebase'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RebaseAPYManaged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RebaseIncentiveManaged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RebaseIntervalManaged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RoleAdminChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RoleGranted'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RoleRevoked'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Transfer'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Unlock'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Unpaused'): EventFragment;
}
export interface AddressManagedEventObject {
    _what: number;
    _address: string;
}
export declare type AddressManagedEvent = TypedEvent<[number, string], AddressManagedEventObject>;
export declare type AddressManagedEventFilter = TypedEventFilter<AddressManagedEvent>;
export interface ApprovalEventObject {
    owner: string;
    approved: string;
    tokenId: BigNumber;
}
export declare type ApprovalEvent = TypedEvent<[string, string, BigNumber], ApprovalEventObject>;
export declare type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>;
export interface ApprovalForAllEventObject {
    owner: string;
    operator: string;
    approved: boolean;
}
export declare type ApprovalForAllEvent = TypedEvent<[string, string, boolean], ApprovalForAllEventObject>;
export declare type ApprovalForAllEventFilter = TypedEventFilter<ApprovalForAllEvent>;
export interface CoopRateManagedEventObject {
    _coopRatePriceControl: BigNumber;
    _haogegeControl: BigNumber;
    _coopRateMax: BigNumber;
}
export declare type CoopRateManagedEvent = TypedEvent<[BigNumber, BigNumber, BigNumber], CoopRateManagedEventObject>;
export declare type CoopRateManagedEventFilter = TypedEventFilter<CoopRateManagedEvent>;
export interface ExcessRewardsDistributedEventObject {
    amountDistributed: BigNumber;
    globalExcess: BigNumber;
}
export declare type ExcessRewardsDistributedEvent = TypedEvent<[BigNumber, BigNumber], ExcessRewardsDistributedEventObject>;
export declare type ExcessRewardsDistributedEventFilter = TypedEventFilter<ExcessRewardsDistributedEvent>;
export interface LockEventObject {
    _amount: BigNumber;
    _poolID: BigNumber;
    _tokenId: BigNumber;
    _sender: string;
}
export declare type LockEvent = TypedEvent<[BigNumber, BigNumber, BigNumber, string], LockEventObject>;
export declare type LockEventFilter = TypedEventFilter<LockEvent>;
export interface MinPriceManagedEventObject {
    minPrice: BigNumber;
}
export declare type MinPriceManagedEvent = TypedEvent<[BigNumber], MinPriceManagedEventObject>;
export declare type MinPriceManagedEventFilter = TypedEventFilter<MinPriceManagedEvent>;
export interface PausedEventObject {
    account: string;
}
export declare type PausedEvent = TypedEvent<[string], PausedEventObject>;
export declare type PausedEventFilter = TypedEventFilter<PausedEvent>;
export interface PoolManagedEventObject {
    _term: BigNumber;
    _g: BigNumber;
    _excessRatio: BigNumber;
    _poolID: BigNumber;
}
export declare type PoolManagedEvent = TypedEvent<[BigNumber, BigNumber, BigNumber, BigNumber], PoolManagedEventObject>;
export declare type PoolManagedEventFilter = TypedEventFilter<PoolManagedEvent>;
export interface PoolOpenedEventObject {
    _term: BigNumber;
    _g: BigNumber;
    _excessRatio: BigNumber;
    _poolID: BigNumber;
}
export declare type PoolOpenedEvent = TypedEvent<[BigNumber, BigNumber, BigNumber, BigNumber], PoolOpenedEventObject>;
export declare type PoolOpenedEventFilter = TypedEventFilter<PoolOpenedEvent>;
export interface PoolRewardedEventObject {
    poolID: BigNumber;
    baseObligation: BigNumber;
    excessObligation: BigNumber;
    balance: BigNumber;
}
export declare type PoolRewardedEvent = TypedEvent<[BigNumber, BigNumber, BigNumber, BigNumber], PoolRewardedEventObject>;
export declare type PoolRewardedEventFilter = TypedEventFilter<PoolRewardedEvent>;
export interface RebaseEventObject {
    eStakers: BigNumber;
    eCOOP: BigNumber;
    CNVS: BigNumber;
}
export declare type RebaseEvent = TypedEvent<[BigNumber, BigNumber, BigNumber], RebaseEventObject>;
export declare type RebaseEventFilter = TypedEventFilter<RebaseEvent>;
export interface RebaseAPYManagedEventObject {
    apy: BigNumber;
}
export declare type RebaseAPYManagedEvent = TypedEvent<[BigNumber], RebaseAPYManagedEventObject>;
export declare type RebaseAPYManagedEventFilter = TypedEventFilter<RebaseAPYManagedEvent>;
export interface RebaseIncentiveManagedEventObject {
    rebaseIncentive: BigNumber;
}
export declare type RebaseIncentiveManagedEvent = TypedEvent<[BigNumber], RebaseIncentiveManagedEventObject>;
export declare type RebaseIncentiveManagedEventFilter = TypedEventFilter<RebaseIncentiveManagedEvent>;
export interface RebaseIntervalManagedEventObject {
    rebaseInterval: BigNumber;
}
export declare type RebaseIntervalManagedEvent = TypedEvent<[BigNumber], RebaseIntervalManagedEventObject>;
export declare type RebaseIntervalManagedEventFilter = TypedEventFilter<RebaseIntervalManagedEvent>;
export interface RoleAdminChangedEventObject {
    role: string;
    previousAdminRole: string;
    newAdminRole: string;
}
export declare type RoleAdminChangedEvent = TypedEvent<[string, string, string], RoleAdminChangedEventObject>;
export declare type RoleAdminChangedEventFilter = TypedEventFilter<RoleAdminChangedEvent>;
export interface RoleGrantedEventObject {
    role: string;
    account: string;
    sender: string;
}
export declare type RoleGrantedEvent = TypedEvent<[string, string, string], RoleGrantedEventObject>;
export declare type RoleGrantedEventFilter = TypedEventFilter<RoleGrantedEvent>;
export interface RoleRevokedEventObject {
    role: string;
    account: string;
    sender: string;
}
export declare type RoleRevokedEvent = TypedEvent<[string, string, string], RoleRevokedEventObject>;
export declare type RoleRevokedEventFilter = TypedEventFilter<RoleRevokedEvent>;
export interface TransferEventObject {
    from: string;
    to: string;
    tokenId: BigNumber;
}
export declare type TransferEvent = TypedEvent<[string, string, BigNumber], TransferEventObject>;
export declare type TransferEventFilter = TypedEventFilter<TransferEvent>;
export interface UnlockEventObject {
    _amount: BigNumber;
    _poolID: BigNumber;
    _owner: string;
}
export declare type UnlockEvent = TypedEvent<[BigNumber, BigNumber, string], UnlockEventObject>;
export declare type UnlockEventFilter = TypedEventFilter<UnlockEvent>;
export interface UnpausedEventObject {
    account: string;
}
export declare type UnpausedEvent = TypedEvent<[string], UnpausedEventObject>;
export declare type UnpausedEventFilter = TypedEventFilter<UnpausedEvent>;
export interface Lsdcnv extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: LsdcnvInterface;
    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: {
        BONDS(overrides?: CallOverrides): Promise<[string]>;
        CNV(overrides?: CallOverrides): Promise<[string]>;
        COOP(overrides?: CallOverrides): Promise<[string]>;
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>;
        POLICY_ROLE(overrides?: CallOverrides): Promise<[string]>;
        TREASURY_ROLE(overrides?: CallOverrides): Promise<[string]>;
        URI_ADDRESS(overrides?: CallOverrides): Promise<[string]>;
        VALUESHUTTLE(overrides?: CallOverrides): Promise<[string]>;
        _calculateCOOPRate(_value: PromiseOrValue<BigNumberish>, _cnvOut: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        _poolIndex(_bal: PromiseOrValue<BigNumberish>, _supply: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        apyPerRebase(overrides?: CallOverrides): Promise<[BigNumber]>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        circulatingSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
        coopRateMax(overrides?: CallOverrides): Promise<[BigNumber]>;
        coopRatePriceControl(overrides?: CallOverrides): Promise<[BigNumber]>;
        getApproved(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
        globalExcess(overrides?: CallOverrides): Promise<[BigNumber]>;
        grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        haogegeControl(overrides?: CallOverrides): Promise<[BigNumber]>;
        hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        initialize(_CNV: PromiseOrValue<string>, _COOP: PromiseOrValue<string>, _BONDS: PromiseOrValue<string>, _VALUESHUTTLE: PromiseOrValue<string>, _treasury: PromiseOrValue<string>, _policy: PromiseOrValue<string>, _coopRatePriceControl: PromiseOrValue<BigNumberish>, _haogegeControl: PromiseOrValue<BigNumberish>, _coopRateMax: PromiseOrValue<BigNumberish>, _minPrice: PromiseOrValue<BigNumberish>, _rebaseInterval: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        lastRebaseTime(overrides?: CallOverrides): Promise<[BigNumber]>;
        lock(to: PromiseOrValue<string>, input: PromiseOrValue<BigNumberish>, pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        lockPoolsLength(overrides?: CallOverrides): Promise<[BigNumber]>;
        lockWithPermit(to: PromiseOrValue<string>, input: PromiseOrValue<BigNumberish>, pid: PromiseOrValue<BigNumberish>, permitDeadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        lockedExcessRewards(overrides?: CallOverrides): Promise<[BigNumber]>;
        manageLockPool(poolID: PromiseOrValue<BigNumberish>, _term: PromiseOrValue<BigNumberish>, _g: PromiseOrValue<BigNumberish>, _excessRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        manualExcessDistribution(amounts: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        minPrice(overrides?: CallOverrides): Promise<[BigNumber]>;
        name(overrides?: CallOverrides): Promise<[string]>;
        openLockPool(_term: PromiseOrValue<BigNumberish>, _g: PromiseOrValue<BigNumberish>, _excessRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        paused(overrides?: CallOverrides): Promise<[boolean]>;
        pools(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber
        ] & {
            term: BigNumber;
            g: BigNumber;
            excessRatio: BigNumber;
            balance: BigNumber;
            supply: BigNumber;
            rewardsPerShare: BigNumber;
        }>;
        positions(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            number,
            BigNumber,
            number,
            BigNumber,
            BigNumber
        ] & {
            poolID: number;
            shares: BigNumber;
            maturity: number;
            rewardDebt: BigNumber;
            deposit: BigNumber;
        }>;
        rebase(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        rebaseIncentive(overrides?: CallOverrides): Promise<[BigNumber]>;
        rebaseInterval(overrides?: CallOverrides): Promise<[BigNumber]>;
        renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        'safeTransferFrom(address,address,uint256)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        'safeTransferFrom(address,address,uint256,bytes)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setAPYPerRebase(_apy: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setAddress(_what: PromiseOrValue<BigNumberish>, _address: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setApprovalForAll(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setCOOPParameters(_coopRatePriceControl: PromiseOrValue<BigNumberish>, _haogegeControl: PromiseOrValue<BigNumberish>, _coopRateMax: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setMinPrice(_minPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setPause(_toPause: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setRebaseIncentive(_rebaseIncentive: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setRebaseInterval(_rebaseInterval: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>;
        symbol(overrides?: CallOverrides): Promise<[string]>;
        tokenURI(id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        unlock(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        viewPositionRewards(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber
        ] & {
            amountDeposited: BigNumber;
            baseRewards: BigNumber;
            excessRewards: BigNumber;
            totalRewards: BigNumber;
        }>;
        viewStakingCap(poolNum: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
    };
    BONDS(overrides?: CallOverrides): Promise<string>;
    CNV(overrides?: CallOverrides): Promise<string>;
    COOP(overrides?: CallOverrides): Promise<string>;
    DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
    POLICY_ROLE(overrides?: CallOverrides): Promise<string>;
    TREASURY_ROLE(overrides?: CallOverrides): Promise<string>;
    URI_ADDRESS(overrides?: CallOverrides): Promise<string>;
    VALUESHUTTLE(overrides?: CallOverrides): Promise<string>;
    _calculateCOOPRate(_value: PromiseOrValue<BigNumberish>, _cnvOut: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    _poolIndex(_bal: PromiseOrValue<BigNumberish>, _supply: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    apyPerRebase(overrides?: CallOverrides): Promise<BigNumber>;
    balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    circulatingSupply(overrides?: CallOverrides): Promise<BigNumber>;
    coopRateMax(overrides?: CallOverrides): Promise<BigNumber>;
    coopRatePriceControl(overrides?: CallOverrides): Promise<BigNumber>;
    getApproved(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
    globalExcess(overrides?: CallOverrides): Promise<BigNumber>;
    grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    haogegeControl(overrides?: CallOverrides): Promise<BigNumber>;
    hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    initialize(_CNV: PromiseOrValue<string>, _COOP: PromiseOrValue<string>, _BONDS: PromiseOrValue<string>, _VALUESHUTTLE: PromiseOrValue<string>, _treasury: PromiseOrValue<string>, _policy: PromiseOrValue<string>, _coopRatePriceControl: PromiseOrValue<BigNumberish>, _haogegeControl: PromiseOrValue<BigNumberish>, _coopRateMax: PromiseOrValue<BigNumberish>, _minPrice: PromiseOrValue<BigNumberish>, _rebaseInterval: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    lastRebaseTime(overrides?: CallOverrides): Promise<BigNumber>;
    lock(to: PromiseOrValue<string>, input: PromiseOrValue<BigNumberish>, pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    lockPoolsLength(overrides?: CallOverrides): Promise<BigNumber>;
    lockWithPermit(to: PromiseOrValue<string>, input: PromiseOrValue<BigNumberish>, pid: PromiseOrValue<BigNumberish>, permitDeadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    lockedExcessRewards(overrides?: CallOverrides): Promise<BigNumber>;
    manageLockPool(poolID: PromiseOrValue<BigNumberish>, _term: PromiseOrValue<BigNumberish>, _g: PromiseOrValue<BigNumberish>, _excessRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    manualExcessDistribution(amounts: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    minPrice(overrides?: CallOverrides): Promise<BigNumber>;
    name(overrides?: CallOverrides): Promise<string>;
    openLockPool(_term: PromiseOrValue<BigNumberish>, _g: PromiseOrValue<BigNumberish>, _excessRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    paused(overrides?: CallOverrides): Promise<boolean>;
    pools(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber
    ] & {
        term: BigNumber;
        g: BigNumber;
        excessRatio: BigNumber;
        balance: BigNumber;
        supply: BigNumber;
        rewardsPerShare: BigNumber;
    }>;
    positions(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
        number,
        BigNumber,
        number,
        BigNumber,
        BigNumber
    ] & {
        poolID: number;
        shares: BigNumber;
        maturity: number;
        rewardDebt: BigNumber;
        deposit: BigNumber;
    }>;
    rebase(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    rebaseIncentive(overrides?: CallOverrides): Promise<BigNumber>;
    rebaseInterval(overrides?: CallOverrides): Promise<BigNumber>;
    renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    'safeTransferFrom(address,address,uint256)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    'safeTransferFrom(address,address,uint256,bytes)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setAPYPerRebase(_apy: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setAddress(_what: PromiseOrValue<BigNumberish>, _address: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setApprovalForAll(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setCOOPParameters(_coopRatePriceControl: PromiseOrValue<BigNumberish>, _haogegeControl: PromiseOrValue<BigNumberish>, _coopRateMax: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setMinPrice(_minPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setPause(_toPause: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setRebaseIncentive(_rebaseIncentive: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setRebaseInterval(_rebaseInterval: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
    symbol(overrides?: CallOverrides): Promise<string>;
    tokenURI(id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
    transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    unlock(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    viewPositionRewards(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber
    ] & {
        amountDeposited: BigNumber;
        baseRewards: BigNumber;
        excessRewards: BigNumber;
        totalRewards: BigNumber;
    }>;
    viewStakingCap(poolNum: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    callStatic: {
        BONDS(overrides?: CallOverrides): Promise<string>;
        CNV(overrides?: CallOverrides): Promise<string>;
        COOP(overrides?: CallOverrides): Promise<string>;
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
        POLICY_ROLE(overrides?: CallOverrides): Promise<string>;
        TREASURY_ROLE(overrides?: CallOverrides): Promise<string>;
        URI_ADDRESS(overrides?: CallOverrides): Promise<string>;
        VALUESHUTTLE(overrides?: CallOverrides): Promise<string>;
        _calculateCOOPRate(_value: PromiseOrValue<BigNumberish>, _cnvOut: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        _poolIndex(_bal: PromiseOrValue<BigNumberish>, _supply: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        apyPerRebase(overrides?: CallOverrides): Promise<BigNumber>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        circulatingSupply(overrides?: CallOverrides): Promise<BigNumber>;
        coopRateMax(overrides?: CallOverrides): Promise<BigNumber>;
        coopRatePriceControl(overrides?: CallOverrides): Promise<BigNumber>;
        getApproved(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
        globalExcess(overrides?: CallOverrides): Promise<BigNumber>;
        grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        haogegeControl(overrides?: CallOverrides): Promise<BigNumber>;
        hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        initialize(_CNV: PromiseOrValue<string>, _COOP: PromiseOrValue<string>, _BONDS: PromiseOrValue<string>, _VALUESHUTTLE: PromiseOrValue<string>, _treasury: PromiseOrValue<string>, _policy: PromiseOrValue<string>, _coopRatePriceControl: PromiseOrValue<BigNumberish>, _haogegeControl: PromiseOrValue<BigNumberish>, _coopRateMax: PromiseOrValue<BigNumberish>, _minPrice: PromiseOrValue<BigNumberish>, _rebaseInterval: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        lastRebaseTime(overrides?: CallOverrides): Promise<BigNumber>;
        lock(to: PromiseOrValue<string>, input: PromiseOrValue<BigNumberish>, pid: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        lockPoolsLength(overrides?: CallOverrides): Promise<BigNumber>;
        lockWithPermit(to: PromiseOrValue<string>, input: PromiseOrValue<BigNumberish>, pid: PromiseOrValue<BigNumberish>, permitDeadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
        lockedExcessRewards(overrides?: CallOverrides): Promise<BigNumber>;
        manageLockPool(poolID: PromiseOrValue<BigNumberish>, _term: PromiseOrValue<BigNumberish>, _g: PromiseOrValue<BigNumberish>, _excessRatio: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        manualExcessDistribution(amounts: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
        minPrice(overrides?: CallOverrides): Promise<BigNumber>;
        name(overrides?: CallOverrides): Promise<string>;
        openLockPool(_term: PromiseOrValue<BigNumberish>, _g: PromiseOrValue<BigNumberish>, _excessRatio: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        paused(overrides?: CallOverrides): Promise<boolean>;
        pools(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber
        ] & {
            term: BigNumber;
            g: BigNumber;
            excessRatio: BigNumber;
            balance: BigNumber;
            supply: BigNumber;
            rewardsPerShare: BigNumber;
        }>;
        positions(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            number,
            BigNumber,
            number,
            BigNumber,
            BigNumber
        ] & {
            poolID: number;
            shares: BigNumber;
            maturity: number;
            rewardDebt: BigNumber;
            deposit: BigNumber;
        }>;
        rebase(overrides?: CallOverrides): Promise<boolean>;
        rebaseIncentive(overrides?: CallOverrides): Promise<BigNumber>;
        rebaseInterval(overrides?: CallOverrides): Promise<BigNumber>;
        renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        'safeTransferFrom(address,address,uint256)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        'safeTransferFrom(address,address,uint256,bytes)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        setAPYPerRebase(_apy: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setAddress(_what: PromiseOrValue<BigNumberish>, _address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setApprovalForAll(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        setCOOPParameters(_coopRatePriceControl: PromiseOrValue<BigNumberish>, _haogegeControl: PromiseOrValue<BigNumberish>, _coopRateMax: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setMinPrice(_minPrice: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setPause(_toPause: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        setRebaseIncentive(_rebaseIncentive: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setRebaseInterval(_rebaseInterval: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
        symbol(overrides?: CallOverrides): Promise<string>;
        tokenURI(id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        unlock(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        viewPositionRewards(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber
        ] & {
            amountDeposited: BigNumber;
            baseRewards: BigNumber;
            excessRewards: BigNumber;
            totalRewards: BigNumber;
        }>;
        viewStakingCap(poolNum: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    };
    filters: {
        'AddressManaged(uint8,address)'(_what?: PromiseOrValue<BigNumberish> | null, _address?: null): AddressManagedEventFilter;
        AddressManaged(_what?: PromiseOrValue<BigNumberish> | null, _address?: null): AddressManagedEventFilter;
        'Approval(address,address,uint256)'(owner?: PromiseOrValue<string> | null, approved?: PromiseOrValue<string> | null, tokenId?: PromiseOrValue<BigNumberish> | null): ApprovalEventFilter;
        Approval(owner?: PromiseOrValue<string> | null, approved?: PromiseOrValue<string> | null, tokenId?: PromiseOrValue<BigNumberish> | null): ApprovalEventFilter;
        'ApprovalForAll(address,address,bool)'(owner?: PromiseOrValue<string> | null, operator?: PromiseOrValue<string> | null, approved?: null): ApprovalForAllEventFilter;
        ApprovalForAll(owner?: PromiseOrValue<string> | null, operator?: PromiseOrValue<string> | null, approved?: null): ApprovalForAllEventFilter;
        'CoopRateManaged(uint256,uint256,uint256)'(_coopRatePriceControl?: PromiseOrValue<BigNumberish> | null, _haogegeControl?: PromiseOrValue<BigNumberish> | null, _coopRateMax?: PromiseOrValue<BigNumberish> | null): CoopRateManagedEventFilter;
        CoopRateManaged(_coopRatePriceControl?: PromiseOrValue<BigNumberish> | null, _haogegeControl?: PromiseOrValue<BigNumberish> | null, _coopRateMax?: PromiseOrValue<BigNumberish> | null): CoopRateManagedEventFilter;
        'ExcessRewardsDistributed(uint256,uint256)'(amountDistributed?: PromiseOrValue<BigNumberish> | null, globalExcess?: PromiseOrValue<BigNumberish> | null): ExcessRewardsDistributedEventFilter;
        ExcessRewardsDistributed(amountDistributed?: PromiseOrValue<BigNumberish> | null, globalExcess?: PromiseOrValue<BigNumberish> | null): ExcessRewardsDistributedEventFilter;
        'Lock(uint256,uint256,uint256,address)'(_amount?: PromiseOrValue<BigNumberish> | null, _poolID?: PromiseOrValue<BigNumberish> | null, _tokenId?: PromiseOrValue<BigNumberish> | null, _sender?: null): LockEventFilter;
        Lock(_amount?: PromiseOrValue<BigNumberish> | null, _poolID?: PromiseOrValue<BigNumberish> | null, _tokenId?: PromiseOrValue<BigNumberish> | null, _sender?: null): LockEventFilter;
        'MinPriceManaged(uint256)'(minPrice?: PromiseOrValue<BigNumberish> | null): MinPriceManagedEventFilter;
        MinPriceManaged(minPrice?: PromiseOrValue<BigNumberish> | null): MinPriceManagedEventFilter;
        'Paused(address)'(account?: null): PausedEventFilter;
        Paused(account?: null): PausedEventFilter;
        'PoolManaged(uint64,uint256,uint256,uint256)'(_term?: PromiseOrValue<BigNumberish> | null, _g?: PromiseOrValue<BigNumberish> | null, _excessRatio?: PromiseOrValue<BigNumberish> | null, _poolID?: null): PoolManagedEventFilter;
        PoolManaged(_term?: PromiseOrValue<BigNumberish> | null, _g?: PromiseOrValue<BigNumberish> | null, _excessRatio?: PromiseOrValue<BigNumberish> | null, _poolID?: null): PoolManagedEventFilter;
        'PoolOpened(uint64,uint256,uint256,uint256)'(_term?: PromiseOrValue<BigNumberish> | null, _g?: PromiseOrValue<BigNumberish> | null, _excessRatio?: PromiseOrValue<BigNumberish> | null, _poolID?: null): PoolOpenedEventFilter;
        PoolOpened(_term?: PromiseOrValue<BigNumberish> | null, _g?: PromiseOrValue<BigNumberish> | null, _excessRatio?: PromiseOrValue<BigNumberish> | null, _poolID?: null): PoolOpenedEventFilter;
        'PoolRewarded(uint256,uint256,uint256,uint256)'(poolID?: PromiseOrValue<BigNumberish> | null, baseObligation?: PromiseOrValue<BigNumberish> | null, excessObligation?: PromiseOrValue<BigNumberish> | null, balance?: null): PoolRewardedEventFilter;
        PoolRewarded(poolID?: PromiseOrValue<BigNumberish> | null, baseObligation?: PromiseOrValue<BigNumberish> | null, excessObligation?: PromiseOrValue<BigNumberish> | null, balance?: null): PoolRewardedEventFilter;
        'Rebase(uint256,uint256,uint256)'(eStakers?: PromiseOrValue<BigNumberish> | null, eCOOP?: PromiseOrValue<BigNumberish> | null, CNVS?: PromiseOrValue<BigNumberish> | null): RebaseEventFilter;
        Rebase(eStakers?: PromiseOrValue<BigNumberish> | null, eCOOP?: PromiseOrValue<BigNumberish> | null, CNVS?: PromiseOrValue<BigNumberish> | null): RebaseEventFilter;
        'RebaseAPYManaged(uint256)'(apy?: PromiseOrValue<BigNumberish> | null): RebaseAPYManagedEventFilter;
        RebaseAPYManaged(apy?: PromiseOrValue<BigNumberish> | null): RebaseAPYManagedEventFilter;
        'RebaseIncentiveManaged(uint256)'(rebaseIncentive?: PromiseOrValue<BigNumberish> | null): RebaseIncentiveManagedEventFilter;
        RebaseIncentiveManaged(rebaseIncentive?: PromiseOrValue<BigNumberish> | null): RebaseIncentiveManagedEventFilter;
        'RebaseIntervalManaged(uint256)'(rebaseInterval?: PromiseOrValue<BigNumberish> | null): RebaseIntervalManagedEventFilter;
        RebaseIntervalManaged(rebaseInterval?: PromiseOrValue<BigNumberish> | null): RebaseIntervalManagedEventFilter;
        'RoleAdminChanged(bytes32,bytes32,bytes32)'(role?: PromiseOrValue<BytesLike> | null, previousAdminRole?: PromiseOrValue<BytesLike> | null, newAdminRole?: PromiseOrValue<BytesLike> | null): RoleAdminChangedEventFilter;
        RoleAdminChanged(role?: PromiseOrValue<BytesLike> | null, previousAdminRole?: PromiseOrValue<BytesLike> | null, newAdminRole?: PromiseOrValue<BytesLike> | null): RoleAdminChangedEventFilter;
        'RoleGranted(bytes32,address,address)'(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleGrantedEventFilter;
        RoleGranted(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleGrantedEventFilter;
        'RoleRevoked(bytes32,address,address)'(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleRevokedEventFilter;
        RoleRevoked(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleRevokedEventFilter;
        'Transfer(address,address,uint256)'(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, tokenId?: PromiseOrValue<BigNumberish> | null): TransferEventFilter;
        Transfer(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, tokenId?: PromiseOrValue<BigNumberish> | null): TransferEventFilter;
        'Unlock(uint256,uint256,address)'(_amount?: PromiseOrValue<BigNumberish> | null, _poolID?: PromiseOrValue<BigNumberish> | null, _owner?: PromiseOrValue<string> | null): UnlockEventFilter;
        Unlock(_amount?: PromiseOrValue<BigNumberish> | null, _poolID?: PromiseOrValue<BigNumberish> | null, _owner?: PromiseOrValue<string> | null): UnlockEventFilter;
        'Unpaused(address)'(account?: null): UnpausedEventFilter;
        Unpaused(account?: null): UnpausedEventFilter;
    };
    estimateGas: {
        BONDS(overrides?: CallOverrides): Promise<BigNumber>;
        CNV(overrides?: CallOverrides): Promise<BigNumber>;
        COOP(overrides?: CallOverrides): Promise<BigNumber>;
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        POLICY_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        TREASURY_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        URI_ADDRESS(overrides?: CallOverrides): Promise<BigNumber>;
        VALUESHUTTLE(overrides?: CallOverrides): Promise<BigNumber>;
        _calculateCOOPRate(_value: PromiseOrValue<BigNumberish>, _cnvOut: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        _poolIndex(_bal: PromiseOrValue<BigNumberish>, _supply: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        apyPerRebase(overrides?: CallOverrides): Promise<BigNumber>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        circulatingSupply(overrides?: CallOverrides): Promise<BigNumber>;
        coopRateMax(overrides?: CallOverrides): Promise<BigNumber>;
        coopRatePriceControl(overrides?: CallOverrides): Promise<BigNumber>;
        getApproved(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
        globalExcess(overrides?: CallOverrides): Promise<BigNumber>;
        grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        haogegeControl(overrides?: CallOverrides): Promise<BigNumber>;
        hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        initialize(_CNV: PromiseOrValue<string>, _COOP: PromiseOrValue<string>, _BONDS: PromiseOrValue<string>, _VALUESHUTTLE: PromiseOrValue<string>, _treasury: PromiseOrValue<string>, _policy: PromiseOrValue<string>, _coopRatePriceControl: PromiseOrValue<BigNumberish>, _haogegeControl: PromiseOrValue<BigNumberish>, _coopRateMax: PromiseOrValue<BigNumberish>, _minPrice: PromiseOrValue<BigNumberish>, _rebaseInterval: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        lastRebaseTime(overrides?: CallOverrides): Promise<BigNumber>;
        lock(to: PromiseOrValue<string>, input: PromiseOrValue<BigNumberish>, pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        lockPoolsLength(overrides?: CallOverrides): Promise<BigNumber>;
        lockWithPermit(to: PromiseOrValue<string>, input: PromiseOrValue<BigNumberish>, pid: PromiseOrValue<BigNumberish>, permitDeadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        lockedExcessRewards(overrides?: CallOverrides): Promise<BigNumber>;
        manageLockPool(poolID: PromiseOrValue<BigNumberish>, _term: PromiseOrValue<BigNumberish>, _g: PromiseOrValue<BigNumberish>, _excessRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        manualExcessDistribution(amounts: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        minPrice(overrides?: CallOverrides): Promise<BigNumber>;
        name(overrides?: CallOverrides): Promise<BigNumber>;
        openLockPool(_term: PromiseOrValue<BigNumberish>, _g: PromiseOrValue<BigNumberish>, _excessRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        paused(overrides?: CallOverrides): Promise<BigNumber>;
        pools(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        positions(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        rebase(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        rebaseIncentive(overrides?: CallOverrides): Promise<BigNumber>;
        rebaseInterval(overrides?: CallOverrides): Promise<BigNumber>;
        renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        'safeTransferFrom(address,address,uint256)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        'safeTransferFrom(address,address,uint256,bytes)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setAPYPerRebase(_apy: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setAddress(_what: PromiseOrValue<BigNumberish>, _address: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setApprovalForAll(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setCOOPParameters(_coopRatePriceControl: PromiseOrValue<BigNumberish>, _haogegeControl: PromiseOrValue<BigNumberish>, _coopRateMax: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setMinPrice(_minPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setPause(_toPause: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setRebaseIncentive(_rebaseIncentive: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setRebaseInterval(_rebaseInterval: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
        symbol(overrides?: CallOverrides): Promise<BigNumber>;
        tokenURI(id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        unlock(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        viewPositionRewards(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        viewStakingCap(poolNum: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        BONDS(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        CNV(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        COOP(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        POLICY_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        TREASURY_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        URI_ADDRESS(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        VALUESHUTTLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        _calculateCOOPRate(_value: PromiseOrValue<BigNumberish>, _cnvOut: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        _poolIndex(_bal: PromiseOrValue<BigNumberish>, _supply: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        apyPerRebase(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        circulatingSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        coopRateMax(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        coopRatePriceControl(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getApproved(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        globalExcess(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        haogegeControl(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initialize(_CNV: PromiseOrValue<string>, _COOP: PromiseOrValue<string>, _BONDS: PromiseOrValue<string>, _VALUESHUTTLE: PromiseOrValue<string>, _treasury: PromiseOrValue<string>, _policy: PromiseOrValue<string>, _coopRatePriceControl: PromiseOrValue<BigNumberish>, _haogegeControl: PromiseOrValue<BigNumberish>, _coopRateMax: PromiseOrValue<BigNumberish>, _minPrice: PromiseOrValue<BigNumberish>, _rebaseInterval: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lastRebaseTime(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lock(to: PromiseOrValue<string>, input: PromiseOrValue<BigNumberish>, pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        lockPoolsLength(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lockWithPermit(to: PromiseOrValue<string>, input: PromiseOrValue<BigNumberish>, pid: PromiseOrValue<BigNumberish>, permitDeadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        lockedExcessRewards(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        manageLockPool(poolID: PromiseOrValue<BigNumberish>, _term: PromiseOrValue<BigNumberish>, _g: PromiseOrValue<BigNumberish>, _excessRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        manualExcessDistribution(amounts: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        minPrice(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        openLockPool(_term: PromiseOrValue<BigNumberish>, _g: PromiseOrValue<BigNumberish>, _excessRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        paused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pools(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        positions(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rebase(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        rebaseIncentive(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rebaseInterval(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        'safeTransferFrom(address,address,uint256)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        'safeTransferFrom(address,address,uint256,bytes)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setAPYPerRebase(_apy: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setAddress(_what: PromiseOrValue<BigNumberish>, _address: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setApprovalForAll(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setCOOPParameters(_coopRatePriceControl: PromiseOrValue<BigNumberish>, _haogegeControl: PromiseOrValue<BigNumberish>, _coopRateMax: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setMinPrice(_minPrice: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setPause(_toPause: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setRebaseIncentive(_rebaseIncentive: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setRebaseInterval(_rebaseInterval: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        symbol(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        tokenURI(id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        unlock(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        viewPositionRewards(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        viewStakingCap(poolNum: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
