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 BarnbridgeSmartAlphaPoolInterface extends utils.Interface {
    functions: {
        'MAX_FEES_PERCENTAGE()': FunctionFragment;
        'accountingModel()': FunctionFragment;
        'advanceEpoch()': FunctionFragment;
        'dao()': FunctionFragment;
        'depositJunior(uint256)': FunctionFragment;
        'depositSenior(uint256)': FunctionFragment;
        'epoch()': FunctionFragment;
        'epoch1Start()': FunctionFragment;
        'epochBalance()': FunctionFragment;
        'epochDownsideProtectionRate()': FunctionFragment;
        'epochDuration()': FunctionFragment;
        'epochEntryPrice()': FunctionFragment;
        'epochJuniorLiquidity()': FunctionFragment;
        'epochSeniorLiquidity()': FunctionFragment;
        'epochUpsideExposureRate()': FunctionFragment;
        'estimateCurrentJuniorLiquidity()': FunctionFragment;
        'estimateCurrentJuniorTokenPrice()': FunctionFragment;
        'estimateCurrentSeniorLiquidity()': FunctionFragment;
        'estimateCurrentSeniorTokenPrice()': FunctionFragment;
        'exitJunior(uint256)': FunctionFragment;
        'exitSenior(uint256)': FunctionFragment;
        'feesAccrued()': FunctionFragment;
        'feesOwner()': FunctionFragment;
        'feesPercentage()': FunctionFragment;
        'getCurrentEpoch()': FunctionFragment;
        'getCurrentJuniorProfits()': FunctionFragment;
        'getCurrentSeniorProfits()': FunctionFragment;
        'getEpochJuniorTokenPrice()': FunctionFragment;
        'getEpochSeniorTokenPrice()': FunctionFragment;
        'guardian()': FunctionFragment;
        'history_epochJuniorTokenPrice(uint256)': FunctionFragment;
        'history_epochSeniorTokenPrice(uint256)': FunctionFragment;
        'initialize(address,address,address,address,address,address,uint256,uint256)': FunctionFragment;
        'initialized()': FunctionFragment;
        'juniorEntryQueue(address)': FunctionFragment;
        'juniorExitQueue(address)': FunctionFragment;
        'juniorToken()': FunctionFragment;
        'pauseSystem()': FunctionFragment;
        'paused()': FunctionFragment;
        'poolToken()': FunctionFragment;
        'priceOracle()': FunctionFragment;
        'queuedJuniorTokensBurn()': FunctionFragment;
        'queuedJuniorsUnderlyingIn()': FunctionFragment;
        'queuedJuniorsUnderlyingOut()': FunctionFragment;
        'queuedSeniorTokensBurn()': FunctionFragment;
        'queuedSeniorsUnderlyingIn()': FunctionFragment;
        'queuedSeniorsUnderlyingOut()': FunctionFragment;
        'redeemJuniorTokens()': FunctionFragment;
        'redeemJuniorUnderlying()': FunctionFragment;
        'redeemSeniorTokens()': FunctionFragment;
        'redeemSeniorUnderlying()': FunctionFragment;
        'resumeSystem()': FunctionFragment;
        'scaleFactor()': FunctionFragment;
        'seniorEntryQueue(address)': FunctionFragment;
        'seniorExitQueue(address)': FunctionFragment;
        'seniorRateModel()': FunctionFragment;
        'seniorToken()': FunctionFragment;
        'setAccountingModel(address)': FunctionFragment;
        'setFeesOwner(address)': FunctionFragment;
        'setFeesPercentage(uint256)': FunctionFragment;
        'setPriceOracle(address)': FunctionFragment;
        'setSeniorRateModel(address)': FunctionFragment;
        'transferDAO(address)': FunctionFragment;
        'transferFees()': FunctionFragment;
        'transferGuardian(address)': FunctionFragment;
        'underlyingInQueues()': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'MAX_FEES_PERCENTAGE' | 'accountingModel' | 'advanceEpoch' | 'dao' | 'depositJunior' | 'depositSenior' | 'epoch' | 'epoch1Start' | 'epochBalance' | 'epochDownsideProtectionRate' | 'epochDuration' | 'epochEntryPrice' | 'epochJuniorLiquidity' | 'epochSeniorLiquidity' | 'epochUpsideExposureRate' | 'estimateCurrentJuniorLiquidity' | 'estimateCurrentJuniorTokenPrice' | 'estimateCurrentSeniorLiquidity' | 'estimateCurrentSeniorTokenPrice' | 'exitJunior' | 'exitSenior' | 'feesAccrued' | 'feesOwner' | 'feesPercentage' | 'getCurrentEpoch' | 'getCurrentJuniorProfits' | 'getCurrentSeniorProfits' | 'getEpochJuniorTokenPrice' | 'getEpochSeniorTokenPrice' | 'guardian' | 'history_epochJuniorTokenPrice' | 'history_epochSeniorTokenPrice' | 'initialize' | 'initialized' | 'juniorEntryQueue' | 'juniorExitQueue' | 'juniorToken' | 'pauseSystem' | 'paused' | 'poolToken' | 'priceOracle' | 'queuedJuniorTokensBurn' | 'queuedJuniorsUnderlyingIn' | 'queuedJuniorsUnderlyingOut' | 'queuedSeniorTokensBurn' | 'queuedSeniorsUnderlyingIn' | 'queuedSeniorsUnderlyingOut' | 'redeemJuniorTokens' | 'redeemJuniorUnderlying' | 'redeemSeniorTokens' | 'redeemSeniorUnderlying' | 'resumeSystem' | 'scaleFactor' | 'seniorEntryQueue' | 'seniorExitQueue' | 'seniorRateModel' | 'seniorToken' | 'setAccountingModel' | 'setFeesOwner' | 'setFeesPercentage' | 'setPriceOracle' | 'setSeniorRateModel' | 'transferDAO' | 'transferFees' | 'transferGuardian' | 'underlyingInQueues'): FunctionFragment;
    encodeFunctionData(functionFragment: 'MAX_FEES_PERCENTAGE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'accountingModel', values?: undefined): string;
    encodeFunctionData(functionFragment: 'advanceEpoch', values?: undefined): string;
    encodeFunctionData(functionFragment: 'dao', values?: undefined): string;
    encodeFunctionData(functionFragment: 'depositJunior', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'depositSenior', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'epoch', values?: undefined): string;
    encodeFunctionData(functionFragment: 'epoch1Start', values?: undefined): string;
    encodeFunctionData(functionFragment: 'epochBalance', values?: undefined): string;
    encodeFunctionData(functionFragment: 'epochDownsideProtectionRate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'epochDuration', values?: undefined): string;
    encodeFunctionData(functionFragment: 'epochEntryPrice', values?: undefined): string;
    encodeFunctionData(functionFragment: 'epochJuniorLiquidity', values?: undefined): string;
    encodeFunctionData(functionFragment: 'epochSeniorLiquidity', values?: undefined): string;
    encodeFunctionData(functionFragment: 'epochUpsideExposureRate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'estimateCurrentJuniorLiquidity', values?: undefined): string;
    encodeFunctionData(functionFragment: 'estimateCurrentJuniorTokenPrice', values?: undefined): string;
    encodeFunctionData(functionFragment: 'estimateCurrentSeniorLiquidity', values?: undefined): string;
    encodeFunctionData(functionFragment: 'estimateCurrentSeniorTokenPrice', values?: undefined): string;
    encodeFunctionData(functionFragment: 'exitJunior', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'exitSenior', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'feesAccrued', values?: undefined): string;
    encodeFunctionData(functionFragment: 'feesOwner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'feesPercentage', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getCurrentEpoch', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getCurrentJuniorProfits', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getCurrentSeniorProfits', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getEpochJuniorTokenPrice', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getEpochSeniorTokenPrice', values?: undefined): string;
    encodeFunctionData(functionFragment: 'guardian', values?: undefined): string;
    encodeFunctionData(functionFragment: 'history_epochJuniorTokenPrice', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'history_epochSeniorTokenPrice', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'initialize', values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: 'initialized', values?: undefined): string;
    encodeFunctionData(functionFragment: 'juniorEntryQueue', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'juniorExitQueue', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'juniorToken', values?: undefined): string;
    encodeFunctionData(functionFragment: 'pauseSystem', values?: undefined): string;
    encodeFunctionData(functionFragment: 'paused', values?: undefined): string;
    encodeFunctionData(functionFragment: 'poolToken', values?: undefined): string;
    encodeFunctionData(functionFragment: 'priceOracle', values?: undefined): string;
    encodeFunctionData(functionFragment: 'queuedJuniorTokensBurn', values?: undefined): string;
    encodeFunctionData(functionFragment: 'queuedJuniorsUnderlyingIn', values?: undefined): string;
    encodeFunctionData(functionFragment: 'queuedJuniorsUnderlyingOut', values?: undefined): string;
    encodeFunctionData(functionFragment: 'queuedSeniorTokensBurn', values?: undefined): string;
    encodeFunctionData(functionFragment: 'queuedSeniorsUnderlyingIn', values?: undefined): string;
    encodeFunctionData(functionFragment: 'queuedSeniorsUnderlyingOut', values?: undefined): string;
    encodeFunctionData(functionFragment: 'redeemJuniorTokens', values?: undefined): string;
    encodeFunctionData(functionFragment: 'redeemJuniorUnderlying', values?: undefined): string;
    encodeFunctionData(functionFragment: 'redeemSeniorTokens', values?: undefined): string;
    encodeFunctionData(functionFragment: 'redeemSeniorUnderlying', values?: undefined): string;
    encodeFunctionData(functionFragment: 'resumeSystem', values?: undefined): string;
    encodeFunctionData(functionFragment: 'scaleFactor', values?: undefined): string;
    encodeFunctionData(functionFragment: 'seniorEntryQueue', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'seniorExitQueue', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'seniorRateModel', values?: undefined): string;
    encodeFunctionData(functionFragment: 'seniorToken', values?: undefined): string;
    encodeFunctionData(functionFragment: 'setAccountingModel', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setFeesOwner', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setFeesPercentage', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setPriceOracle', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setSeniorRateModel', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'transferDAO', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'transferFees', values?: undefined): string;
    encodeFunctionData(functionFragment: 'transferGuardian', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'underlyingInQueues', values?: undefined): string;
    decodeFunctionResult(functionFragment: 'MAX_FEES_PERCENTAGE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'accountingModel', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'advanceEpoch', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'dao', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'depositJunior', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'depositSenior', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'epoch', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'epoch1Start', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'epochBalance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'epochDownsideProtectionRate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'epochDuration', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'epochEntryPrice', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'epochJuniorLiquidity', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'epochSeniorLiquidity', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'epochUpsideExposureRate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'estimateCurrentJuniorLiquidity', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'estimateCurrentJuniorTokenPrice', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'estimateCurrentSeniorLiquidity', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'estimateCurrentSeniorTokenPrice', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'exitJunior', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'exitSenior', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'feesAccrued', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'feesOwner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'feesPercentage', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getCurrentEpoch', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getCurrentJuniorProfits', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getCurrentSeniorProfits', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getEpochJuniorTokenPrice', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getEpochSeniorTokenPrice', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'guardian', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'history_epochJuniorTokenPrice', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'history_epochSeniorTokenPrice', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initialized', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'juniorEntryQueue', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'juniorExitQueue', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'juniorToken', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pauseSystem', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'paused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'poolToken', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'priceOracle', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'queuedJuniorTokensBurn', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'queuedJuniorsUnderlyingIn', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'queuedJuniorsUnderlyingOut', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'queuedSeniorTokensBurn', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'queuedSeniorsUnderlyingIn', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'queuedSeniorsUnderlyingOut', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'redeemJuniorTokens', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'redeemJuniorUnderlying', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'redeemSeniorTokens', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'redeemSeniorUnderlying', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'resumeSystem', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'scaleFactor', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'seniorEntryQueue', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'seniorExitQueue', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'seniorRateModel', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'seniorToken', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setAccountingModel', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setFeesOwner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setFeesPercentage', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setPriceOracle', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setSeniorRateModel', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferDAO', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferFees', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferGuardian', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'underlyingInQueues', data: BytesLike): Result;
    events: {
        'EpochEnd(uint256,uint256,uint256)': EventFragment;
        'FeesTransfer(address,address,uint256)': EventFragment;
        'JuniorJoinEntryQueue(address,uint256,uint256,uint256)': EventFragment;
        'JuniorJoinExitQueue(address,uint256,uint256,uint256)': EventFragment;
        'JuniorRedeemTokens(address,uint256,uint256)': EventFragment;
        'JuniorRedeemUnderlying(address,uint256,uint256)': EventFragment;
        'PauseSystem()': EventFragment;
        'ResumeSystem()': EventFragment;
        'SeniorJoinEntryQueue(address,uint256,uint256,uint256)': EventFragment;
        'SeniorJoinExitQueue(address,uint256,uint256,uint256)': EventFragment;
        'SeniorRedeemTokens(address,uint256,uint256)': EventFragment;
        'SeniorRedeemUnderlying(address,uint256,uint256)': EventFragment;
        'SetAccountingModel(address,address)': EventFragment;
        'SetFeesOwner(address,address)': EventFragment;
        'SetFeesPercentage(uint256,uint256)': EventFragment;
        'SetPriceOracle(address,address)': EventFragment;
        'SetSeniorRateModel(address,address)': EventFragment;
        'TransferDAO(address,address)': EventFragment;
        'TransferGuardian(address,address)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'EpochEnd'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'FeesTransfer'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'JuniorJoinEntryQueue'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'JuniorJoinExitQueue'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'JuniorRedeemTokens'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'JuniorRedeemUnderlying'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PauseSystem'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ResumeSystem'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SeniorJoinEntryQueue'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SeniorJoinExitQueue'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SeniorRedeemTokens'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SeniorRedeemUnderlying'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SetAccountingModel'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SetFeesOwner'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SetFeesPercentage'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SetPriceOracle'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SetSeniorRateModel'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'TransferDAO'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'TransferGuardian'): EventFragment;
}
export interface EpochEndEventObject {
    epochId: BigNumber;
    juniorProfits: BigNumber;
    seniorProfits: BigNumber;
}
export declare type EpochEndEvent = TypedEvent<[BigNumber, BigNumber, BigNumber], EpochEndEventObject>;
export declare type EpochEndEventFilter = TypedEventFilter<EpochEndEvent>;
export interface FeesTransferEventObject {
    caller: string;
    destination: string;
    amount: BigNumber;
}
export declare type FeesTransferEvent = TypedEvent<[string, string, BigNumber], FeesTransferEventObject>;
export declare type FeesTransferEventFilter = TypedEventFilter<FeesTransferEvent>;
export interface JuniorJoinEntryQueueEventObject {
    user: string;
    epochId: BigNumber;
    underlyingIn: BigNumber;
    currentQueueBalance: BigNumber;
}
export declare type JuniorJoinEntryQueueEvent = TypedEvent<[
    string,
    BigNumber,
    BigNumber,
    BigNumber
], JuniorJoinEntryQueueEventObject>;
export declare type JuniorJoinEntryQueueEventFilter = TypedEventFilter<JuniorJoinEntryQueueEvent>;
export interface JuniorJoinExitQueueEventObject {
    user: string;
    epochId: BigNumber;
    tokensIn: BigNumber;
    currentQueueBalance: BigNumber;
}
export declare type JuniorJoinExitQueueEvent = TypedEvent<[
    string,
    BigNumber,
    BigNumber,
    BigNumber
], JuniorJoinExitQueueEventObject>;
export declare type JuniorJoinExitQueueEventFilter = TypedEventFilter<JuniorJoinExitQueueEvent>;
export interface JuniorRedeemTokensEventObject {
    user: string;
    epochId: BigNumber;
    tokensOut: BigNumber;
}
export declare type JuniorRedeemTokensEvent = TypedEvent<[string, BigNumber, BigNumber], JuniorRedeemTokensEventObject>;
export declare type JuniorRedeemTokensEventFilter = TypedEventFilter<JuniorRedeemTokensEvent>;
export interface JuniorRedeemUnderlyingEventObject {
    user: string;
    epochId: BigNumber;
    underlyingOut: BigNumber;
}
export declare type JuniorRedeemUnderlyingEvent = TypedEvent<[string, BigNumber, BigNumber], JuniorRedeemUnderlyingEventObject>;
export declare type JuniorRedeemUnderlyingEventFilter = TypedEventFilter<JuniorRedeemUnderlyingEvent>;
export interface PauseSystemEventObject {
}
export declare type PauseSystemEvent = TypedEvent<[], PauseSystemEventObject>;
export declare type PauseSystemEventFilter = TypedEventFilter<PauseSystemEvent>;
export interface ResumeSystemEventObject {
}
export declare type ResumeSystemEvent = TypedEvent<[], ResumeSystemEventObject>;
export declare type ResumeSystemEventFilter = TypedEventFilter<ResumeSystemEvent>;
export interface SeniorJoinEntryQueueEventObject {
    user: string;
    epochId: BigNumber;
    underlyingIn: BigNumber;
    currentQueueBalance: BigNumber;
}
export declare type SeniorJoinEntryQueueEvent = TypedEvent<[
    string,
    BigNumber,
    BigNumber,
    BigNumber
], SeniorJoinEntryQueueEventObject>;
export declare type SeniorJoinEntryQueueEventFilter = TypedEventFilter<SeniorJoinEntryQueueEvent>;
export interface SeniorJoinExitQueueEventObject {
    user: string;
    epochId: BigNumber;
    tokensIn: BigNumber;
    currentQueueBalance: BigNumber;
}
export declare type SeniorJoinExitQueueEvent = TypedEvent<[
    string,
    BigNumber,
    BigNumber,
    BigNumber
], SeniorJoinExitQueueEventObject>;
export declare type SeniorJoinExitQueueEventFilter = TypedEventFilter<SeniorJoinExitQueueEvent>;
export interface SeniorRedeemTokensEventObject {
    user: string;
    epochId: BigNumber;
    tokensOut: BigNumber;
}
export declare type SeniorRedeemTokensEvent = TypedEvent<[string, BigNumber, BigNumber], SeniorRedeemTokensEventObject>;
export declare type SeniorRedeemTokensEventFilter = TypedEventFilter<SeniorRedeemTokensEvent>;
export interface SeniorRedeemUnderlyingEventObject {
    user: string;
    epochId: BigNumber;
    underlyingOut: BigNumber;
}
export declare type SeniorRedeemUnderlyingEvent = TypedEvent<[string, BigNumber, BigNumber], SeniorRedeemUnderlyingEventObject>;
export declare type SeniorRedeemUnderlyingEventFilter = TypedEventFilter<SeniorRedeemUnderlyingEvent>;
export interface SetAccountingModelEventObject {
    oldModel: string;
    newModel: string;
}
export declare type SetAccountingModelEvent = TypedEvent<[string, string], SetAccountingModelEventObject>;
export declare type SetAccountingModelEventFilter = TypedEventFilter<SetAccountingModelEvent>;
export interface SetFeesOwnerEventObject {
    oldOwner: string;
    newOwner: string;
}
export declare type SetFeesOwnerEvent = TypedEvent<[string, string], SetFeesOwnerEventObject>;
export declare type SetFeesOwnerEventFilter = TypedEventFilter<SetFeesOwnerEvent>;
export interface SetFeesPercentageEventObject {
    oldPercentage: BigNumber;
    newPercentage: BigNumber;
}
export declare type SetFeesPercentageEvent = TypedEvent<[BigNumber, BigNumber], SetFeesPercentageEventObject>;
export declare type SetFeesPercentageEventFilter = TypedEventFilter<SetFeesPercentageEvent>;
export interface SetPriceOracleEventObject {
    oldOracle: string;
    newOracle: string;
}
export declare type SetPriceOracleEvent = TypedEvent<[string, string], SetPriceOracleEventObject>;
export declare type SetPriceOracleEventFilter = TypedEventFilter<SetPriceOracleEvent>;
export interface SetSeniorRateModelEventObject {
    oldModel: string;
    newModel: string;
}
export declare type SetSeniorRateModelEvent = TypedEvent<[string, string], SetSeniorRateModelEventObject>;
export declare type SetSeniorRateModelEventFilter = TypedEventFilter<SetSeniorRateModelEvent>;
export interface TransferDAOEventObject {
    oldDAO: string;
    newDAO: string;
}
export declare type TransferDAOEvent = TypedEvent<[string, string], TransferDAOEventObject>;
export declare type TransferDAOEventFilter = TypedEventFilter<TransferDAOEvent>;
export interface TransferGuardianEventObject {
    oldGuardian: string;
    newGuardian: string;
}
export declare type TransferGuardianEvent = TypedEvent<[string, string], TransferGuardianEventObject>;
export declare type TransferGuardianEventFilter = TypedEventFilter<TransferGuardianEvent>;
export interface BarnbridgeSmartAlphaPool extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: BarnbridgeSmartAlphaPoolInterface;
    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: {
        MAX_FEES_PERCENTAGE(overrides?: CallOverrides): Promise<[BigNumber]>;
        accountingModel(overrides?: CallOverrides): Promise<[string]>;
        advanceEpoch(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        dao(overrides?: CallOverrides): Promise<[string]>;
        depositJunior(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        depositSenior(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        epoch(overrides?: CallOverrides): Promise<[BigNumber]>;
        epoch1Start(overrides?: CallOverrides): Promise<[BigNumber]>;
        epochBalance(overrides?: CallOverrides): Promise<[BigNumber]>;
        epochDownsideProtectionRate(overrides?: CallOverrides): Promise<[BigNumber]>;
        epochDuration(overrides?: CallOverrides): Promise<[BigNumber]>;
        epochEntryPrice(overrides?: CallOverrides): Promise<[BigNumber]>;
        epochJuniorLiquidity(overrides?: CallOverrides): Promise<[BigNumber]>;
        epochSeniorLiquidity(overrides?: CallOverrides): Promise<[BigNumber]>;
        epochUpsideExposureRate(overrides?: CallOverrides): Promise<[BigNumber]>;
        estimateCurrentJuniorLiquidity(overrides?: CallOverrides): Promise<[BigNumber]>;
        estimateCurrentJuniorTokenPrice(overrides?: CallOverrides): Promise<[BigNumber]>;
        estimateCurrentSeniorLiquidity(overrides?: CallOverrides): Promise<[BigNumber]>;
        estimateCurrentSeniorTokenPrice(overrides?: CallOverrides): Promise<[BigNumber]>;
        exitJunior(amountJuniorTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        exitSenior(amountSeniorTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        feesAccrued(overrides?: CallOverrides): Promise<[BigNumber]>;
        feesOwner(overrides?: CallOverrides): Promise<[string]>;
        feesPercentage(overrides?: CallOverrides): Promise<[BigNumber]>;
        getCurrentEpoch(overrides?: CallOverrides): Promise<[BigNumber]>;
        getCurrentJuniorProfits(overrides?: CallOverrides): Promise<[BigNumber]>;
        getCurrentSeniorProfits(overrides?: CallOverrides): Promise<[BigNumber]>;
        getEpochJuniorTokenPrice(overrides?: CallOverrides): Promise<[BigNumber]>;
        getEpochSeniorTokenPrice(overrides?: CallOverrides): Promise<[BigNumber]>;
        guardian(overrides?: CallOverrides): Promise<[string]>;
        history_epochJuniorTokenPrice(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        history_epochSeniorTokenPrice(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        initialize(poolTokenAddr: PromiseOrValue<string>, oracleAddr: PromiseOrValue<string>, seniorRateModelAddr: PromiseOrValue<string>, accountingModelAddr: PromiseOrValue<string>, juniorTokenAddr: PromiseOrValue<string>, seniorTokenAddr: PromiseOrValue<string>, _epoch1Start: PromiseOrValue<BigNumberish>, _epochDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        initialized(overrides?: CallOverrides): Promise<[boolean]>;
        juniorEntryQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            epoch: BigNumber;
            amount: BigNumber;
        }>;
        juniorExitQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            epoch: BigNumber;
            amount: BigNumber;
        }>;
        juniorToken(overrides?: CallOverrides): Promise<[string]>;
        pauseSystem(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        paused(overrides?: CallOverrides): Promise<[boolean]>;
        poolToken(overrides?: CallOverrides): Promise<[string]>;
        priceOracle(overrides?: CallOverrides): Promise<[string]>;
        queuedJuniorTokensBurn(overrides?: CallOverrides): Promise<[BigNumber]>;
        queuedJuniorsUnderlyingIn(overrides?: CallOverrides): Promise<[BigNumber]>;
        queuedJuniorsUnderlyingOut(overrides?: CallOverrides): Promise<[BigNumber]>;
        queuedSeniorTokensBurn(overrides?: CallOverrides): Promise<[BigNumber]>;
        queuedSeniorsUnderlyingIn(overrides?: CallOverrides): Promise<[BigNumber]>;
        queuedSeniorsUnderlyingOut(overrides?: CallOverrides): Promise<[BigNumber]>;
        redeemJuniorTokens(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        redeemJuniorUnderlying(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        redeemSeniorTokens(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        redeemSeniorUnderlying(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        resumeSystem(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        scaleFactor(overrides?: CallOverrides): Promise<[BigNumber]>;
        seniorEntryQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            epoch: BigNumber;
            amount: BigNumber;
        }>;
        seniorExitQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            epoch: BigNumber;
            amount: BigNumber;
        }>;
        seniorRateModel(overrides?: CallOverrides): Promise<[string]>;
        seniorToken(overrides?: CallOverrides): Promise<[string]>;
        setAccountingModel(newModel: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setFeesOwner(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setFeesPercentage(percentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setPriceOracle(newPriceOracle: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setSeniorRateModel(newModel: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        transferDAO(newDAO: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        transferFees(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        transferGuardian(newGuardian: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        underlyingInQueues(overrides?: CallOverrides): Promise<[BigNumber]>;
    };
    MAX_FEES_PERCENTAGE(overrides?: CallOverrides): Promise<BigNumber>;
    accountingModel(overrides?: CallOverrides): Promise<string>;
    advanceEpoch(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    dao(overrides?: CallOverrides): Promise<string>;
    depositJunior(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    depositSenior(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    epoch(overrides?: CallOverrides): Promise<BigNumber>;
    epoch1Start(overrides?: CallOverrides): Promise<BigNumber>;
    epochBalance(overrides?: CallOverrides): Promise<BigNumber>;
    epochDownsideProtectionRate(overrides?: CallOverrides): Promise<BigNumber>;
    epochDuration(overrides?: CallOverrides): Promise<BigNumber>;
    epochEntryPrice(overrides?: CallOverrides): Promise<BigNumber>;
    epochJuniorLiquidity(overrides?: CallOverrides): Promise<BigNumber>;
    epochSeniorLiquidity(overrides?: CallOverrides): Promise<BigNumber>;
    epochUpsideExposureRate(overrides?: CallOverrides): Promise<BigNumber>;
    estimateCurrentJuniorLiquidity(overrides?: CallOverrides): Promise<BigNumber>;
    estimateCurrentJuniorTokenPrice(overrides?: CallOverrides): Promise<BigNumber>;
    estimateCurrentSeniorLiquidity(overrides?: CallOverrides): Promise<BigNumber>;
    estimateCurrentSeniorTokenPrice(overrides?: CallOverrides): Promise<BigNumber>;
    exitJunior(amountJuniorTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    exitSenior(amountSeniorTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    feesAccrued(overrides?: CallOverrides): Promise<BigNumber>;
    feesOwner(overrides?: CallOverrides): Promise<string>;
    feesPercentage(overrides?: CallOverrides): Promise<BigNumber>;
    getCurrentEpoch(overrides?: CallOverrides): Promise<BigNumber>;
    getCurrentJuniorProfits(overrides?: CallOverrides): Promise<BigNumber>;
    getCurrentSeniorProfits(overrides?: CallOverrides): Promise<BigNumber>;
    getEpochJuniorTokenPrice(overrides?: CallOverrides): Promise<BigNumber>;
    getEpochSeniorTokenPrice(overrides?: CallOverrides): Promise<BigNumber>;
    guardian(overrides?: CallOverrides): Promise<string>;
    history_epochJuniorTokenPrice(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    history_epochSeniorTokenPrice(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    initialize(poolTokenAddr: PromiseOrValue<string>, oracleAddr: PromiseOrValue<string>, seniorRateModelAddr: PromiseOrValue<string>, accountingModelAddr: PromiseOrValue<string>, juniorTokenAddr: PromiseOrValue<string>, seniorTokenAddr: PromiseOrValue<string>, _epoch1Start: PromiseOrValue<BigNumberish>, _epochDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    initialized(overrides?: CallOverrides): Promise<boolean>;
    juniorEntryQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
        epoch: BigNumber;
        amount: BigNumber;
    }>;
    juniorExitQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
        epoch: BigNumber;
        amount: BigNumber;
    }>;
    juniorToken(overrides?: CallOverrides): Promise<string>;
    pauseSystem(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    paused(overrides?: CallOverrides): Promise<boolean>;
    poolToken(overrides?: CallOverrides): Promise<string>;
    priceOracle(overrides?: CallOverrides): Promise<string>;
    queuedJuniorTokensBurn(overrides?: CallOverrides): Promise<BigNumber>;
    queuedJuniorsUnderlyingIn(overrides?: CallOverrides): Promise<BigNumber>;
    queuedJuniorsUnderlyingOut(overrides?: CallOverrides): Promise<BigNumber>;
    queuedSeniorTokensBurn(overrides?: CallOverrides): Promise<BigNumber>;
    queuedSeniorsUnderlyingIn(overrides?: CallOverrides): Promise<BigNumber>;
    queuedSeniorsUnderlyingOut(overrides?: CallOverrides): Promise<BigNumber>;
    redeemJuniorTokens(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    redeemJuniorUnderlying(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    redeemSeniorTokens(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    redeemSeniorUnderlying(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    resumeSystem(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    scaleFactor(overrides?: CallOverrides): Promise<BigNumber>;
    seniorEntryQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
        epoch: BigNumber;
        amount: BigNumber;
    }>;
    seniorExitQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
        epoch: BigNumber;
        amount: BigNumber;
    }>;
    seniorRateModel(overrides?: CallOverrides): Promise<string>;
    seniorToken(overrides?: CallOverrides): Promise<string>;
    setAccountingModel(newModel: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setFeesOwner(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setFeesPercentage(percentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setPriceOracle(newPriceOracle: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setSeniorRateModel(newModel: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    transferDAO(newDAO: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    transferFees(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    transferGuardian(newGuardian: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    underlyingInQueues(overrides?: CallOverrides): Promise<BigNumber>;
    callStatic: {
        MAX_FEES_PERCENTAGE(overrides?: CallOverrides): Promise<BigNumber>;
        accountingModel(overrides?: CallOverrides): Promise<string>;
        advanceEpoch(overrides?: CallOverrides): Promise<void>;
        dao(overrides?: CallOverrides): Promise<string>;
        depositJunior(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        depositSenior(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        epoch(overrides?: CallOverrides): Promise<BigNumber>;
        epoch1Start(overrides?: CallOverrides): Promise<BigNumber>;
        epochBalance(overrides?: CallOverrides): Promise<BigNumber>;
        epochDownsideProtectionRate(overrides?: CallOverrides): Promise<BigNumber>;
        epochDuration(overrides?: CallOverrides): Promise<BigNumber>;
        epochEntryPrice(overrides?: CallOverrides): Promise<BigNumber>;
        epochJuniorLiquidity(overrides?: CallOverrides): Promise<BigNumber>;
        epochSeniorLiquidity(overrides?: CallOverrides): Promise<BigNumber>;
        epochUpsideExposureRate(overrides?: CallOverrides): Promise<BigNumber>;
        estimateCurrentJuniorLiquidity(overrides?: CallOverrides): Promise<BigNumber>;
        estimateCurrentJuniorTokenPrice(overrides?: CallOverrides): Promise<BigNumber>;
        estimateCurrentSeniorLiquidity(overrides?: CallOverrides): Promise<BigNumber>;
        estimateCurrentSeniorTokenPrice(overrides?: CallOverrides): Promise<BigNumber>;
        exitJunior(amountJuniorTokens: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        exitSenior(amountSeniorTokens: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        feesAccrued(overrides?: CallOverrides): Promise<BigNumber>;
        feesOwner(overrides?: CallOverrides): Promise<string>;
        feesPercentage(overrides?: CallOverrides): Promise<BigNumber>;
        getCurrentEpoch(overrides?: CallOverrides): Promise<BigNumber>;
        getCurrentJuniorProfits(overrides?: CallOverrides): Promise<BigNumber>;
        getCurrentSeniorProfits(overrides?: CallOverrides): Promise<BigNumber>;
        getEpochJuniorTokenPrice(overrides?: CallOverrides): Promise<BigNumber>;
        getEpochSeniorTokenPrice(overrides?: CallOverrides): Promise<BigNumber>;
        guardian(overrides?: CallOverrides): Promise<string>;
        history_epochJuniorTokenPrice(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        history_epochSeniorTokenPrice(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        initialize(poolTokenAddr: PromiseOrValue<string>, oracleAddr: PromiseOrValue<string>, seniorRateModelAddr: PromiseOrValue<string>, accountingModelAddr: PromiseOrValue<string>, juniorTokenAddr: PromiseOrValue<string>, seniorTokenAddr: PromiseOrValue<string>, _epoch1Start: PromiseOrValue<BigNumberish>, _epochDuration: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        initialized(overrides?: CallOverrides): Promise<boolean>;
        juniorEntryQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            epoch: BigNumber;
            amount: BigNumber;
        }>;
        juniorExitQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            epoch: BigNumber;
            amount: BigNumber;
        }>;
        juniorToken(overrides?: CallOverrides): Promise<string>;
        pauseSystem(overrides?: CallOverrides): Promise<void>;
        paused(overrides?: CallOverrides): Promise<boolean>;
        poolToken(overrides?: CallOverrides): Promise<string>;
        priceOracle(overrides?: CallOverrides): Promise<string>;
        queuedJuniorTokensBurn(overrides?: CallOverrides): Promise<BigNumber>;
        queuedJuniorsUnderlyingIn(overrides?: CallOverrides): Promise<BigNumber>;
        queuedJuniorsUnderlyingOut(overrides?: CallOverrides): Promise<BigNumber>;
        queuedSeniorTokensBurn(overrides?: CallOverrides): Promise<BigNumber>;
        queuedSeniorsUnderlyingIn(overrides?: CallOverrides): Promise<BigNumber>;
        queuedSeniorsUnderlyingOut(overrides?: CallOverrides): Promise<BigNumber>;
        redeemJuniorTokens(overrides?: CallOverrides): Promise<void>;
        redeemJuniorUnderlying(overrides?: CallOverrides): Promise<void>;
        redeemSeniorTokens(overrides?: CallOverrides): Promise<void>;
        redeemSeniorUnderlying(overrides?: CallOverrides): Promise<void>;
        resumeSystem(overrides?: CallOverrides): Promise<void>;
        scaleFactor(overrides?: CallOverrides): Promise<BigNumber>;
        seniorEntryQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            epoch: BigNumber;
            amount: BigNumber;
        }>;
        seniorExitQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            epoch: BigNumber;
            amount: BigNumber;
        }>;
        seniorRateModel(overrides?: CallOverrides): Promise<string>;
        seniorToken(overrides?: CallOverrides): Promise<string>;
        setAccountingModel(newModel: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setFeesOwner(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setFeesPercentage(percentage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setPriceOracle(newPriceOracle: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setSeniorRateModel(newModel: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        transferDAO(newDAO: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        transferFees(overrides?: CallOverrides): Promise<void>;
        transferGuardian(newGuardian: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        underlyingInQueues(overrides?: CallOverrides): Promise<BigNumber>;
    };
    filters: {
        'EpochEnd(uint256,uint256,uint256)'(epochId?: null, juniorProfits?: null, seniorProfits?: null): EpochEndEventFilter;
        EpochEnd(epochId?: null, juniorProfits?: null, seniorProfits?: null): EpochEndEventFilter;
        'FeesTransfer(address,address,uint256)'(caller?: null, destination?: null, amount?: null): FeesTransferEventFilter;
        FeesTransfer(caller?: null, destination?: null, amount?: null): FeesTransferEventFilter;
        'JuniorJoinEntryQueue(address,uint256,uint256,uint256)'(user?: PromiseOrValue<string> | null, epochId?: null, underlyingIn?: null, currentQueueBalance?: null): JuniorJoinEntryQueueEventFilter;
        JuniorJoinEntryQueue(user?: PromiseOrValue<string> | null, epochId?: null, underlyingIn?: null, currentQueueBalance?: null): JuniorJoinEntryQueueEventFilter;
        'JuniorJoinExitQueue(address,uint256,uint256,uint256)'(user?: PromiseOrValue<string> | null, epochId?: null, tokensIn?: null, currentQueueBalance?: null): JuniorJoinExitQueueEventFilter;
        JuniorJoinExitQueue(user?: PromiseOrValue<string> | null, epochId?: null, tokensIn?: null, currentQueueBalance?: null): JuniorJoinExitQueueEventFilter;
        'JuniorRedeemTokens(address,uint256,uint256)'(user?: PromiseOrValue<string> | null, epochId?: null, tokensOut?: null): JuniorRedeemTokensEventFilter;
        JuniorRedeemTokens(user?: PromiseOrValue<string> | null, epochId?: null, tokensOut?: null): JuniorRedeemTokensEventFilter;
        'JuniorRedeemUnderlying(address,uint256,uint256)'(user?: PromiseOrValue<string> | null, epochId?: null, underlyingOut?: null): JuniorRedeemUnderlyingEventFilter;
        JuniorRedeemUnderlying(user?: PromiseOrValue<string> | null, epochId?: null, underlyingOut?: null): JuniorRedeemUnderlyingEventFilter;
        'PauseSystem()'(): PauseSystemEventFilter;
        PauseSystem(): PauseSystemEventFilter;
        'ResumeSystem()'(): ResumeSystemEventFilter;
        ResumeSystem(): ResumeSystemEventFilter;
        'SeniorJoinEntryQueue(address,uint256,uint256,uint256)'(user?: PromiseOrValue<string> | null, epochId?: null, underlyingIn?: null, currentQueueBalance?: null): SeniorJoinEntryQueueEventFilter;
        SeniorJoinEntryQueue(user?: PromiseOrValue<string> | null, epochId?: null, underlyingIn?: null, currentQueueBalance?: null): SeniorJoinEntryQueueEventFilter;
        'SeniorJoinExitQueue(address,uint256,uint256,uint256)'(user?: PromiseOrValue<string> | null, epochId?: null, tokensIn?: null, currentQueueBalance?: null): SeniorJoinExitQueueEventFilter;
        SeniorJoinExitQueue(user?: PromiseOrValue<string> | null, epochId?: null, tokensIn?: null, currentQueueBalance?: null): SeniorJoinExitQueueEventFilter;
        'SeniorRedeemTokens(address,uint256,uint256)'(user?: PromiseOrValue<string> | null, epochId?: null, tokensOut?: null): SeniorRedeemTokensEventFilter;
        SeniorRedeemTokens(user?: PromiseOrValue<string> | null, epochId?: null, tokensOut?: null): SeniorRedeemTokensEventFilter;
        'SeniorRedeemUnderlying(address,uint256,uint256)'(user?: PromiseOrValue<string> | null, epochId?: null, underlyingOut?: null): SeniorRedeemUnderlyingEventFilter;
        SeniorRedeemUnderlying(user?: PromiseOrValue<string> | null, epochId?: null, underlyingOut?: null): SeniorRedeemUnderlyingEventFilter;
        'SetAccountingModel(address,address)'(oldModel?: null, newModel?: null): SetAccountingModelEventFilter;
        SetAccountingModel(oldModel?: null, newModel?: null): SetAccountingModelEventFilter;
        'SetFeesOwner(address,address)'(oldOwner?: null, newOwner?: null): SetFeesOwnerEventFilter;
        SetFeesOwner(oldOwner?: null, newOwner?: null): SetFeesOwnerEventFilter;
        'SetFeesPercentage(uint256,uint256)'(oldPercentage?: null, newPercentage?: null): SetFeesPercentageEventFilter;
        SetFeesPercentage(oldPercentage?: null, newPercentage?: null): SetFeesPercentageEventFilter;
        'SetPriceOracle(address,address)'(oldOracle?: null, newOracle?: null): SetPriceOracleEventFilter;
        SetPriceOracle(oldOracle?: null, newOracle?: null): SetPriceOracleEventFilter;
        'SetSeniorRateModel(address,address)'(oldModel?: null, newModel?: null): SetSeniorRateModelEventFilter;
        SetSeniorRateModel(oldModel?: null, newModel?: null): SetSeniorRateModelEventFilter;
        'TransferDAO(address,address)'(oldDAO?: null, newDAO?: null): TransferDAOEventFilter;
        TransferDAO(oldDAO?: null, newDAO?: null): TransferDAOEventFilter;
        'TransferGuardian(address,address)'(oldGuardian?: null, newGuardian?: null): TransferGuardianEventFilter;
        TransferGuardian(oldGuardian?: null, newGuardian?: null): TransferGuardianEventFilter;
    };
    estimateGas: {
        MAX_FEES_PERCENTAGE(overrides?: CallOverrides): Promise<BigNumber>;
        accountingModel(overrides?: CallOverrides): Promise<BigNumber>;
        advanceEpoch(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        dao(overrides?: CallOverrides): Promise<BigNumber>;
        depositJunior(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        depositSenior(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        epoch(overrides?: CallOverrides): Promise<BigNumber>;
        epoch1Start(overrides?: CallOverrides): Promise<BigNumber>;
        epochBalance(overrides?: CallOverrides): Promise<BigNumber>;
        epochDownsideProtectionRate(overrides?: CallOverrides): Promise<BigNumber>;
        epochDuration(overrides?: CallOverrides): Promise<BigNumber>;
        epochEntryPrice(overrides?: CallOverrides): Promise<BigNumber>;
        epochJuniorLiquidity(overrides?: CallOverrides): Promise<BigNumber>;
        epochSeniorLiquidity(overrides?: CallOverrides): Promise<BigNumber>;
        epochUpsideExposureRate(overrides?: CallOverrides): Promise<BigNumber>;
        estimateCurrentJuniorLiquidity(overrides?: CallOverrides): Promise<BigNumber>;
        estimateCurrentJuniorTokenPrice(overrides?: CallOverrides): Promise<BigNumber>;
        estimateCurrentSeniorLiquidity(overrides?: CallOverrides): Promise<BigNumber>;
        estimateCurrentSeniorTokenPrice(overrides?: CallOverrides): Promise<BigNumber>;
        exitJunior(amountJuniorTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        exitSenior(amountSeniorTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        feesAccrued(overrides?: CallOverrides): Promise<BigNumber>;
        feesOwner(overrides?: CallOverrides): Promise<BigNumber>;
        feesPercentage(overrides?: CallOverrides): Promise<BigNumber>;
        getCurrentEpoch(overrides?: CallOverrides): Promise<BigNumber>;
        getCurrentJuniorProfits(overrides?: CallOverrides): Promise<BigNumber>;
        getCurrentSeniorProfits(overrides?: CallOverrides): Promise<BigNumber>;
        getEpochJuniorTokenPrice(overrides?: CallOverrides): Promise<BigNumber>;
        getEpochSeniorTokenPrice(overrides?: CallOverrides): Promise<BigNumber>;
        guardian(overrides?: CallOverrides): Promise<BigNumber>;
        history_epochJuniorTokenPrice(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        history_epochSeniorTokenPrice(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        initialize(poolTokenAddr: PromiseOrValue<string>, oracleAddr: PromiseOrValue<string>, seniorRateModelAddr: PromiseOrValue<string>, accountingModelAddr: PromiseOrValue<string>, juniorTokenAddr: PromiseOrValue<string>, seniorTokenAddr: PromiseOrValue<string>, _epoch1Start: PromiseOrValue<BigNumberish>, _epochDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        initialized(overrides?: CallOverrides): Promise<BigNumber>;
        juniorEntryQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        juniorExitQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        juniorToken(overrides?: CallOverrides): Promise<BigNumber>;
        pauseSystem(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        paused(overrides?: CallOverrides): Promise<BigNumber>;
        poolToken(overrides?: CallOverrides): Promise<BigNumber>;
        priceOracle(overrides?: CallOverrides): Promise<BigNumber>;
        queuedJuniorTokensBurn(overrides?: CallOverrides): Promise<BigNumber>;
        queuedJuniorsUnderlyingIn(overrides?: CallOverrides): Promise<BigNumber>;
        queuedJuniorsUnderlyingOut(overrides?: CallOverrides): Promise<BigNumber>;
        queuedSeniorTokensBurn(overrides?: CallOverrides): Promise<BigNumber>;
        queuedSeniorsUnderlyingIn(overrides?: CallOverrides): Promise<BigNumber>;
        queuedSeniorsUnderlyingOut(overrides?: CallOverrides): Promise<BigNumber>;
        redeemJuniorTokens(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        redeemJuniorUnderlying(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        redeemSeniorTokens(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        redeemSeniorUnderlying(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        resumeSystem(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        scaleFactor(overrides?: CallOverrides): Promise<BigNumber>;
        seniorEntryQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        seniorExitQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        seniorRateModel(overrides?: CallOverrides): Promise<BigNumber>;
        seniorToken(overrides?: CallOverrides): Promise<BigNumber>;
        setAccountingModel(newModel: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setFeesOwner(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setFeesPercentage(percentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setPriceOracle(newPriceOracle: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setSeniorRateModel(newModel: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        transferDAO(newDAO: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        transferFees(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        transferGuardian(newGuardian: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        underlyingInQueues(overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        MAX_FEES_PERCENTAGE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        accountingModel(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        advanceEpoch(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        dao(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        depositJunior(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        depositSenior(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        epoch(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        epoch1Start(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        epochBalance(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        epochDownsideProtectionRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        epochDuration(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        epochEntryPrice(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        epochJuniorLiquidity(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        epochSeniorLiquidity(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        epochUpsideExposureRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        estimateCurrentJuniorLiquidity(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        estimateCurrentJuniorTokenPrice(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        estimateCurrentSeniorLiquidity(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        estimateCurrentSeniorTokenPrice(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        exitJunior(amountJuniorTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        exitSenior(amountSeniorTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        feesAccrued(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        feesOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        feesPercentage(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getCurrentEpoch(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getCurrentJuniorProfits(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getCurrentSeniorProfits(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getEpochJuniorTokenPrice(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getEpochSeniorTokenPrice(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        guardian(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        history_epochJuniorTokenPrice(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        history_epochSeniorTokenPrice(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initialize(poolTokenAddr: PromiseOrValue<string>, oracleAddr: PromiseOrValue<string>, seniorRateModelAddr: PromiseOrValue<string>, accountingModelAddr: PromiseOrValue<string>, juniorTokenAddr: PromiseOrValue<string>, seniorTokenAddr: PromiseOrValue<string>, _epoch1Start: PromiseOrValue<BigNumberish>, _epochDuration: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        initialized(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        juniorEntryQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        juniorExitQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        juniorToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pauseSystem(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        paused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        poolToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        priceOracle(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        queuedJuniorTokensBurn(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        queuedJuniorsUnderlyingIn(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        queuedJuniorsUnderlyingOut(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        queuedSeniorTokensBurn(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        queuedSeniorsUnderlyingIn(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        queuedSeniorsUnderlyingOut(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        redeemJuniorTokens(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        redeemJuniorUnderlying(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        redeemSeniorTokens(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        redeemSeniorUnderlying(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        resumeSystem(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        scaleFactor(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        seniorEntryQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        seniorExitQueue(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        seniorRateModel(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        seniorToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        setAccountingModel(newModel: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setFeesOwner(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setFeesPercentage(percentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setPriceOracle(newPriceOracle: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setSeniorRateModel(newModel: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        transferDAO(newDAO: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        transferFees(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        transferGuardian(newGuardian: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        underlyingInQueues(overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
