import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from 'ethers';
import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi';
import type { Listener, Provider } from '@ethersproject/providers';
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common';
export declare type ComponentsStruct = {
    rToken: PromiseOrValue<string>;
    stRSR: PromiseOrValue<string>;
    assetRegistry: PromiseOrValue<string>;
    basketHandler: PromiseOrValue<string>;
    backingManager: PromiseOrValue<string>;
    distributor: PromiseOrValue<string>;
    furnace: PromiseOrValue<string>;
    broker: PromiseOrValue<string>;
    rsrTrader: PromiseOrValue<string>;
    rTokenTrader: PromiseOrValue<string>;
};
export declare type ComponentsStructOutput = [
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string
] & {
    rToken: string;
    stRSR: string;
    assetRegistry: string;
    basketHandler: string;
    backingManager: string;
    distributor: string;
    furnace: string;
    broker: string;
    rsrTrader: string;
    rTokenTrader: string;
};
export interface MainInterface extends utils.Interface {
    functions: {
        'DEFAULT_ADMIN_ROLE()': FunctionFragment;
        'LONG_FREEZER_ROLE()': FunctionFragment;
        'OWNER_ROLE()': FunctionFragment;
        'PAUSER_ROLE()': FunctionFragment;
        'SHORT_FREEZER_ROLE()': FunctionFragment;
        'assetRegistry()': FunctionFragment;
        'backingManager()': FunctionFragment;
        'basketHandler()': FunctionFragment;
        'broker()': FunctionFragment;
        'distributor()': FunctionFragment;
        'freezeForever()': FunctionFragment;
        'freezeLong()': FunctionFragment;
        'freezeShort()': FunctionFragment;
        'frozen()': FunctionFragment;
        'furnace()': FunctionFragment;
        'getRoleAdmin(bytes32)': FunctionFragment;
        'grantRole(bytes32,address)': FunctionFragment;
        'hasRole(bytes32,address)': FunctionFragment;
        'init((address,address,address,address,address,address,address,address,address,address),address,uint48,uint48)': FunctionFragment;
        'longFreeze()': FunctionFragment;
        'longFreezes(address)': FunctionFragment;
        'pause()': FunctionFragment;
        'paused()': FunctionFragment;
        'pausedOrFrozen()': FunctionFragment;
        'poke()': FunctionFragment;
        'proxiableUUID()': FunctionFragment;
        'rToken()': FunctionFragment;
        'rTokenTrader()': FunctionFragment;
        'renounceRole(bytes32,address)': FunctionFragment;
        'revokeRole(bytes32,address)': FunctionFragment;
        'rsr()': FunctionFragment;
        'rsrTrader()': FunctionFragment;
        'setLongFreeze(uint48)': FunctionFragment;
        'setShortFreeze(uint48)': FunctionFragment;
        'shortFreeze()': FunctionFragment;
        'stRSR()': FunctionFragment;
        'supportsInterface(bytes4)': FunctionFragment;
        'unfreeze()': FunctionFragment;
        'unfreezeAt()': FunctionFragment;
        'unpause()': FunctionFragment;
        'upgradeTo(address)': FunctionFragment;
        'upgradeToAndCall(address,bytes)': FunctionFragment;
        'version()': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'DEFAULT_ADMIN_ROLE' | 'LONG_FREEZER_ROLE' | 'OWNER_ROLE' | 'PAUSER_ROLE' | 'SHORT_FREEZER_ROLE' | 'assetRegistry' | 'backingManager' | 'basketHandler' | 'broker' | 'distributor' | 'freezeForever' | 'freezeLong' | 'freezeShort' | 'frozen' | 'furnace' | 'getRoleAdmin' | 'grantRole' | 'hasRole' | 'init' | 'longFreeze' | 'longFreezes' | 'pause' | 'paused' | 'pausedOrFrozen' | 'poke' | 'proxiableUUID' | 'rToken' | 'rTokenTrader' | 'renounceRole' | 'revokeRole' | 'rsr' | 'rsrTrader' | 'setLongFreeze' | 'setShortFreeze' | 'shortFreeze' | 'stRSR' | 'supportsInterface' | 'unfreeze' | 'unfreezeAt' | 'unpause' | 'upgradeTo' | 'upgradeToAndCall' | 'version'): FunctionFragment;
    encodeFunctionData(functionFragment: 'DEFAULT_ADMIN_ROLE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'LONG_FREEZER_ROLE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'OWNER_ROLE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'PAUSER_ROLE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'SHORT_FREEZER_ROLE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'assetRegistry', values?: undefined): string;
    encodeFunctionData(functionFragment: 'backingManager', values?: undefined): string;
    encodeFunctionData(functionFragment: 'basketHandler', values?: undefined): string;
    encodeFunctionData(functionFragment: 'broker', values?: undefined): string;
    encodeFunctionData(functionFragment: 'distributor', values?: undefined): string;
    encodeFunctionData(functionFragment: 'freezeForever', values?: undefined): string;
    encodeFunctionData(functionFragment: 'freezeLong', values?: undefined): string;
    encodeFunctionData(functionFragment: 'freezeShort', values?: undefined): string;
    encodeFunctionData(functionFragment: 'frozen', values?: undefined): string;
    encodeFunctionData(functionFragment: 'furnace', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getRoleAdmin', values: [PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'grantRole', values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'hasRole', values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'init', values: [ComponentsStruct, PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'longFreeze', values?: undefined): string;
    encodeFunctionData(functionFragment: 'longFreezes', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'pause', values?: undefined): string;
    encodeFunctionData(functionFragment: 'paused', values?: undefined): string;
    encodeFunctionData(functionFragment: 'pausedOrFrozen', values?: undefined): string;
    encodeFunctionData(functionFragment: 'poke', values?: undefined): string;
    encodeFunctionData(functionFragment: 'proxiableUUID', values?: undefined): string;
    encodeFunctionData(functionFragment: 'rToken', values?: undefined): string;
    encodeFunctionData(functionFragment: 'rTokenTrader', values?: undefined): string;
    encodeFunctionData(functionFragment: 'renounceRole', values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'revokeRole', values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'rsr', values?: undefined): string;
    encodeFunctionData(functionFragment: 'rsrTrader', values?: undefined): string;
    encodeFunctionData(functionFragment: 'setLongFreeze', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setShortFreeze', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'shortFreeze', values?: undefined): string;
    encodeFunctionData(functionFragment: 'stRSR', values?: undefined): string;
    encodeFunctionData(functionFragment: 'supportsInterface', values: [PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'unfreeze', values?: undefined): string;
    encodeFunctionData(functionFragment: 'unfreezeAt', values?: undefined): string;
    encodeFunctionData(functionFragment: 'unpause', values?: undefined): string;
    encodeFunctionData(functionFragment: 'upgradeTo', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'upgradeToAndCall', values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'version', values?: undefined): string;
    decodeFunctionResult(functionFragment: 'DEFAULT_ADMIN_ROLE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'LONG_FREEZER_ROLE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'OWNER_ROLE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'PAUSER_ROLE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'SHORT_FREEZER_ROLE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'assetRegistry', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'backingManager', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'basketHandler', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'broker', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'distributor', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'freezeForever', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'freezeLong', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'freezeShort', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'frozen', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'furnace', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRoleAdmin', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'grantRole', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'hasRole', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'init', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'longFreeze', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'longFreezes', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pause', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'paused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pausedOrFrozen', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'poke', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'proxiableUUID', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rToken', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rTokenTrader', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'renounceRole', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'revokeRole', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rsr', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rsrTrader', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setLongFreeze', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setShortFreeze', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'shortFreeze', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'stRSR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'supportsInterface', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'unfreeze', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'unfreezeAt', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'unpause', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'upgradeTo', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'upgradeToAndCall', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'version', data: BytesLike): Result;
    events: {
        'AdminChanged(address,address)': EventFragment;
        'AssetRegistrySet(address,address)': EventFragment;
        'BackingManagerSet(address,address)': EventFragment;
        'BasketHandlerSet(address,address)': EventFragment;
        'BeaconUpgraded(address)': EventFragment;
        'BrokerSet(address,address)': EventFragment;
        'DistributorSet(address,address)': EventFragment;
        'FurnaceSet(address,address)': EventFragment;
        'Initialized(uint8)': EventFragment;
        'LongFreezeDurationSet(uint48,uint48)': EventFragment;
        'MainInitialized()': EventFragment;
        'PausedSet(bool,bool)': EventFragment;
        'RSRTraderSet(address,address)': EventFragment;
        'RTokenSet(address,address)': EventFragment;
        'RTokenTraderSet(address,address)': EventFragment;
        'RoleAdminChanged(bytes32,bytes32,bytes32)': EventFragment;
        'RoleGranted(bytes32,address,address)': EventFragment;
        'RoleRevoked(bytes32,address,address)': EventFragment;
        'ShortFreezeDurationSet(uint48,uint48)': EventFragment;
        'StRSRSet(address,address)': EventFragment;
        'UnfreezeAtSet(uint48,uint48)': EventFragment;
        'Upgraded(address)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'AdminChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'AssetRegistrySet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'BackingManagerSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'BasketHandlerSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'BeaconUpgraded'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'BrokerSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'DistributorSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'FurnaceSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Initialized'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LongFreezeDurationSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'MainInitialized'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PausedSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RSRTraderSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RTokenSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RTokenTraderSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RoleAdminChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RoleGranted'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RoleRevoked'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ShortFreezeDurationSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'StRSRSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'UnfreezeAtSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Upgraded'): EventFragment;
}
export interface AdminChangedEventObject {
    previousAdmin: string;
    newAdmin: string;
}
export declare type AdminChangedEvent = TypedEvent<[string, string], AdminChangedEventObject>;
export declare type AdminChangedEventFilter = TypedEventFilter<AdminChangedEvent>;
export interface AssetRegistrySetEventObject {
    oldVal: string;
    newVal: string;
}
export declare type AssetRegistrySetEvent = TypedEvent<[string, string], AssetRegistrySetEventObject>;
export declare type AssetRegistrySetEventFilter = TypedEventFilter<AssetRegistrySetEvent>;
export interface BackingManagerSetEventObject {
    oldVal: string;
    newVal: string;
}
export declare type BackingManagerSetEvent = TypedEvent<[string, string], BackingManagerSetEventObject>;
export declare type BackingManagerSetEventFilter = TypedEventFilter<BackingManagerSetEvent>;
export interface BasketHandlerSetEventObject {
    oldVal: string;
    newVal: string;
}
export declare type BasketHandlerSetEvent = TypedEvent<[string, string], BasketHandlerSetEventObject>;
export declare type BasketHandlerSetEventFilter = TypedEventFilter<BasketHandlerSetEvent>;
export interface BeaconUpgradedEventObject {
    beacon: string;
}
export declare type BeaconUpgradedEvent = TypedEvent<[string], BeaconUpgradedEventObject>;
export declare type BeaconUpgradedEventFilter = TypedEventFilter<BeaconUpgradedEvent>;
export interface BrokerSetEventObject {
    oldVal: string;
    newVal: string;
}
export declare type BrokerSetEvent = TypedEvent<[string, string], BrokerSetEventObject>;
export declare type BrokerSetEventFilter = TypedEventFilter<BrokerSetEvent>;
export interface DistributorSetEventObject {
    oldVal: string;
    newVal: string;
}
export declare type DistributorSetEvent = TypedEvent<[string, string], DistributorSetEventObject>;
export declare type DistributorSetEventFilter = TypedEventFilter<DistributorSetEvent>;
export interface FurnaceSetEventObject {
    oldVal: string;
    newVal: string;
}
export declare type FurnaceSetEvent = TypedEvent<[string, string], FurnaceSetEventObject>;
export declare type FurnaceSetEventFilter = TypedEventFilter<FurnaceSetEvent>;
export interface InitializedEventObject {
    version: number;
}
export declare type InitializedEvent = TypedEvent<[number], InitializedEventObject>;
export declare type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
export interface LongFreezeDurationSetEventObject {
    oldDuration: number;
    newDuration: number;
}
export declare type LongFreezeDurationSetEvent = TypedEvent<[number, number], LongFreezeDurationSetEventObject>;
export declare type LongFreezeDurationSetEventFilter = TypedEventFilter<LongFreezeDurationSetEvent>;
export interface MainInitializedEventObject {
}
export declare type MainInitializedEvent = TypedEvent<[], MainInitializedEventObject>;
export declare type MainInitializedEventFilter = TypedEventFilter<MainInitializedEvent>;
export interface PausedSetEventObject {
    oldVal: boolean;
    newVal: boolean;
}
export declare type PausedSetEvent = TypedEvent<[boolean, boolean], PausedSetEventObject>;
export declare type PausedSetEventFilter = TypedEventFilter<PausedSetEvent>;
export interface RSRTraderSetEventObject {
    oldVal: string;
    newVal: string;
}
export declare type RSRTraderSetEvent = TypedEvent<[string, string], RSRTraderSetEventObject>;
export declare type RSRTraderSetEventFilter = TypedEventFilter<RSRTraderSetEvent>;
export interface RTokenSetEventObject {
    oldVal: string;
    newVal: string;
}
export declare type RTokenSetEvent = TypedEvent<[string, string], RTokenSetEventObject>;
export declare type RTokenSetEventFilter = TypedEventFilter<RTokenSetEvent>;
export interface RTokenTraderSetEventObject {
    oldVal: string;
    newVal: string;
}
export declare type RTokenTraderSetEvent = TypedEvent<[string, string], RTokenTraderSetEventObject>;
export declare type RTokenTraderSetEventFilter = TypedEventFilter<RTokenTraderSetEvent>;
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 ShortFreezeDurationSetEventObject {
    oldDuration: number;
    newDuration: number;
}
export declare type ShortFreezeDurationSetEvent = TypedEvent<[number, number], ShortFreezeDurationSetEventObject>;
export declare type ShortFreezeDurationSetEventFilter = TypedEventFilter<ShortFreezeDurationSetEvent>;
export interface StRSRSetEventObject {
    oldVal: string;
    newVal: string;
}
export declare type StRSRSetEvent = TypedEvent<[string, string], StRSRSetEventObject>;
export declare type StRSRSetEventFilter = TypedEventFilter<StRSRSetEvent>;
export interface UnfreezeAtSetEventObject {
    oldVal: number;
    newVal: number;
}
export declare type UnfreezeAtSetEvent = TypedEvent<[number, number], UnfreezeAtSetEventObject>;
export declare type UnfreezeAtSetEventFilter = TypedEventFilter<UnfreezeAtSetEvent>;
export interface UpgradedEventObject {
    implementation: string;
}
export declare type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>;
export declare type UpgradedEventFilter = TypedEventFilter<UpgradedEvent>;
export interface Main extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: MainInterface;
    queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
    listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
    listeners(eventName?: string): Array<Listener>;
    removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
    removeAllListeners(eventName?: string): this;
    off: OnEvent<this>;
    on: OnEvent<this>;
    once: OnEvent<this>;
    removeListener: OnEvent<this>;
    functions: {
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>;
        LONG_FREEZER_ROLE(overrides?: CallOverrides): Promise<[string]>;
        OWNER_ROLE(overrides?: CallOverrides): Promise<[string]>;
        PAUSER_ROLE(overrides?: CallOverrides): Promise<[string]>;
        SHORT_FREEZER_ROLE(overrides?: CallOverrides): Promise<[string]>;
        assetRegistry(overrides?: CallOverrides): Promise<[string]>;
        backingManager(overrides?: CallOverrides): Promise<[string]>;
        basketHandler(overrides?: CallOverrides): Promise<[string]>;
        broker(overrides?: CallOverrides): Promise<[string]>;
        distributor(overrides?: CallOverrides): Promise<[string]>;
        freezeForever(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        freezeLong(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        freezeShort(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        frozen(overrides?: CallOverrides): Promise<[boolean]>;
        furnace(overrides?: CallOverrides): Promise<[string]>;
        getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
        grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        init(components: ComponentsStruct, rsr_: PromiseOrValue<string>, shortFreeze_: PromiseOrValue<BigNumberish>, longFreeze_: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        longFreeze(overrides?: CallOverrides): Promise<[number]>;
        longFreezes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        pause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        paused(overrides?: CallOverrides): Promise<[boolean]>;
        pausedOrFrozen(overrides?: CallOverrides): Promise<[boolean]>;
        poke(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        proxiableUUID(overrides?: CallOverrides): Promise<[string]>;
        rToken(overrides?: CallOverrides): Promise<[string]>;
        rTokenTrader(overrides?: CallOverrides): Promise<[string]>;
        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>;
        rsr(overrides?: CallOverrides): Promise<[string]>;
        rsrTrader(overrides?: CallOverrides): Promise<[string]>;
        setLongFreeze(longFreeze_: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setShortFreeze(shortFreeze_: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        shortFreeze(overrides?: CallOverrides): Promise<[number]>;
        stRSR(overrides?: CallOverrides): Promise<[string]>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>;
        unfreeze(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        unfreezeAt(overrides?: CallOverrides): Promise<[number]>;
        unpause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        version(overrides?: CallOverrides): Promise<[string]>;
    };
    DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
    LONG_FREEZER_ROLE(overrides?: CallOverrides): Promise<string>;
    OWNER_ROLE(overrides?: CallOverrides): Promise<string>;
    PAUSER_ROLE(overrides?: CallOverrides): Promise<string>;
    SHORT_FREEZER_ROLE(overrides?: CallOverrides): Promise<string>;
    assetRegistry(overrides?: CallOverrides): Promise<string>;
    backingManager(overrides?: CallOverrides): Promise<string>;
    basketHandler(overrides?: CallOverrides): Promise<string>;
    broker(overrides?: CallOverrides): Promise<string>;
    distributor(overrides?: CallOverrides): Promise<string>;
    freezeForever(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    freezeLong(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    freezeShort(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    frozen(overrides?: CallOverrides): Promise<boolean>;
    furnace(overrides?: CallOverrides): Promise<string>;
    getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
    grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    init(components: ComponentsStruct, rsr_: PromiseOrValue<string>, shortFreeze_: PromiseOrValue<BigNumberish>, longFreeze_: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    longFreeze(overrides?: CallOverrides): Promise<number>;
    longFreezes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    pause(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    paused(overrides?: CallOverrides): Promise<boolean>;
    pausedOrFrozen(overrides?: CallOverrides): Promise<boolean>;
    poke(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    proxiableUUID(overrides?: CallOverrides): Promise<string>;
    rToken(overrides?: CallOverrides): Promise<string>;
    rTokenTrader(overrides?: CallOverrides): Promise<string>;
    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>;
    rsr(overrides?: CallOverrides): Promise<string>;
    rsrTrader(overrides?: CallOverrides): Promise<string>;
    setLongFreeze(longFreeze_: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setShortFreeze(shortFreeze_: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    shortFreeze(overrides?: CallOverrides): Promise<number>;
    stRSR(overrides?: CallOverrides): Promise<string>;
    supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
    unfreeze(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    unfreezeAt(overrides?: CallOverrides): Promise<number>;
    unpause(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    version(overrides?: CallOverrides): Promise<string>;
    callStatic: {
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
        LONG_FREEZER_ROLE(overrides?: CallOverrides): Promise<string>;
        OWNER_ROLE(overrides?: CallOverrides): Promise<string>;
        PAUSER_ROLE(overrides?: CallOverrides): Promise<string>;
        SHORT_FREEZER_ROLE(overrides?: CallOverrides): Promise<string>;
        assetRegistry(overrides?: CallOverrides): Promise<string>;
        backingManager(overrides?: CallOverrides): Promise<string>;
        basketHandler(overrides?: CallOverrides): Promise<string>;
        broker(overrides?: CallOverrides): Promise<string>;
        distributor(overrides?: CallOverrides): Promise<string>;
        freezeForever(overrides?: CallOverrides): Promise<void>;
        freezeLong(overrides?: CallOverrides): Promise<void>;
        freezeShort(overrides?: CallOverrides): Promise<void>;
        frozen(overrides?: CallOverrides): Promise<boolean>;
        furnace(overrides?: CallOverrides): Promise<string>;
        getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
        grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        init(components: ComponentsStruct, rsr_: PromiseOrValue<string>, shortFreeze_: PromiseOrValue<BigNumberish>, longFreeze_: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        longFreeze(overrides?: CallOverrides): Promise<number>;
        longFreezes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        pause(overrides?: CallOverrides): Promise<void>;
        paused(overrides?: CallOverrides): Promise<boolean>;
        pausedOrFrozen(overrides?: CallOverrides): Promise<boolean>;
        poke(overrides?: CallOverrides): Promise<void>;
        proxiableUUID(overrides?: CallOverrides): Promise<string>;
        rToken(overrides?: CallOverrides): Promise<string>;
        rTokenTrader(overrides?: CallOverrides): Promise<string>;
        renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        rsr(overrides?: CallOverrides): Promise<string>;
        rsrTrader(overrides?: CallOverrides): Promise<string>;
        setLongFreeze(longFreeze_: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setShortFreeze(shortFreeze_: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        shortFreeze(overrides?: CallOverrides): Promise<number>;
        stRSR(overrides?: CallOverrides): Promise<string>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
        unfreeze(overrides?: CallOverrides): Promise<void>;
        unfreezeAt(overrides?: CallOverrides): Promise<number>;
        unpause(overrides?: CallOverrides): Promise<void>;
        upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        version(overrides?: CallOverrides): Promise<string>;
    };
    filters: {
        'AdminChanged(address,address)'(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
        AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
        'AssetRegistrySet(address,address)'(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): AssetRegistrySetEventFilter;
        AssetRegistrySet(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): AssetRegistrySetEventFilter;
        'BackingManagerSet(address,address)'(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): BackingManagerSetEventFilter;
        BackingManagerSet(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): BackingManagerSetEventFilter;
        'BasketHandlerSet(address,address)'(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): BasketHandlerSetEventFilter;
        BasketHandlerSet(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): BasketHandlerSetEventFilter;
        'BeaconUpgraded(address)'(beacon?: PromiseOrValue<string> | null): BeaconUpgradedEventFilter;
        BeaconUpgraded(beacon?: PromiseOrValue<string> | null): BeaconUpgradedEventFilter;
        'BrokerSet(address,address)'(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): BrokerSetEventFilter;
        BrokerSet(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): BrokerSetEventFilter;
        'DistributorSet(address,address)'(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): DistributorSetEventFilter;
        DistributorSet(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): DistributorSetEventFilter;
        'FurnaceSet(address,address)'(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): FurnaceSetEventFilter;
        FurnaceSet(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): FurnaceSetEventFilter;
        'Initialized(uint8)'(version?: null): InitializedEventFilter;
        Initialized(version?: null): InitializedEventFilter;
        'LongFreezeDurationSet(uint48,uint48)'(oldDuration?: PromiseOrValue<BigNumberish> | null, newDuration?: PromiseOrValue<BigNumberish> | null): LongFreezeDurationSetEventFilter;
        LongFreezeDurationSet(oldDuration?: PromiseOrValue<BigNumberish> | null, newDuration?: PromiseOrValue<BigNumberish> | null): LongFreezeDurationSetEventFilter;
        'MainInitialized()'(): MainInitializedEventFilter;
        MainInitialized(): MainInitializedEventFilter;
        'PausedSet(bool,bool)'(oldVal?: PromiseOrValue<boolean> | null, newVal?: PromiseOrValue<boolean> | null): PausedSetEventFilter;
        PausedSet(oldVal?: PromiseOrValue<boolean> | null, newVal?: PromiseOrValue<boolean> | null): PausedSetEventFilter;
        'RSRTraderSet(address,address)'(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): RSRTraderSetEventFilter;
        RSRTraderSet(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): RSRTraderSetEventFilter;
        'RTokenSet(address,address)'(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): RTokenSetEventFilter;
        RTokenSet(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): RTokenSetEventFilter;
        'RTokenTraderSet(address,address)'(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): RTokenTraderSetEventFilter;
        RTokenTraderSet(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): RTokenTraderSetEventFilter;
        '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;
        'ShortFreezeDurationSet(uint48,uint48)'(oldDuration?: PromiseOrValue<BigNumberish> | null, newDuration?: PromiseOrValue<BigNumberish> | null): ShortFreezeDurationSetEventFilter;
        ShortFreezeDurationSet(oldDuration?: PromiseOrValue<BigNumberish> | null, newDuration?: PromiseOrValue<BigNumberish> | null): ShortFreezeDurationSetEventFilter;
        'StRSRSet(address,address)'(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): StRSRSetEventFilter;
        StRSRSet(oldVal?: PromiseOrValue<string> | null, newVal?: PromiseOrValue<string> | null): StRSRSetEventFilter;
        'UnfreezeAtSet(uint48,uint48)'(oldVal?: PromiseOrValue<BigNumberish> | null, newVal?: PromiseOrValue<BigNumberish> | null): UnfreezeAtSetEventFilter;
        UnfreezeAtSet(oldVal?: PromiseOrValue<BigNumberish> | null, newVal?: PromiseOrValue<BigNumberish> | null): UnfreezeAtSetEventFilter;
        'Upgraded(address)'(implementation?: PromiseOrValue<string> | null): UpgradedEventFilter;
        Upgraded(implementation?: PromiseOrValue<string> | null): UpgradedEventFilter;
    };
    estimateGas: {
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        LONG_FREEZER_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        OWNER_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        PAUSER_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        SHORT_FREEZER_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        assetRegistry(overrides?: CallOverrides): Promise<BigNumber>;
        backingManager(overrides?: CallOverrides): Promise<BigNumber>;
        basketHandler(overrides?: CallOverrides): Promise<BigNumber>;
        broker(overrides?: CallOverrides): Promise<BigNumber>;
        distributor(overrides?: CallOverrides): Promise<BigNumber>;
        freezeForever(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        freezeLong(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        freezeShort(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        frozen(overrides?: CallOverrides): Promise<BigNumber>;
        furnace(overrides?: CallOverrides): Promise<BigNumber>;
        getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
        grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        init(components: ComponentsStruct, rsr_: PromiseOrValue<string>, shortFreeze_: PromiseOrValue<BigNumberish>, longFreeze_: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        longFreeze(overrides?: CallOverrides): Promise<BigNumber>;
        longFreezes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        pause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        paused(overrides?: CallOverrides): Promise<BigNumber>;
        pausedOrFrozen(overrides?: CallOverrides): Promise<BigNumber>;
        poke(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        proxiableUUID(overrides?: CallOverrides): Promise<BigNumber>;
        rToken(overrides?: CallOverrides): Promise<BigNumber>;
        rTokenTrader(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>;
        rsr(overrides?: CallOverrides): Promise<BigNumber>;
        rsrTrader(overrides?: CallOverrides): Promise<BigNumber>;
        setLongFreeze(longFreeze_: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setShortFreeze(shortFreeze_: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        shortFreeze(overrides?: CallOverrides): Promise<BigNumber>;
        stRSR(overrides?: CallOverrides): Promise<BigNumber>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
        unfreeze(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        unfreezeAt(overrides?: CallOverrides): Promise<BigNumber>;
        unpause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        version(overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        LONG_FREEZER_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        OWNER_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        PAUSER_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        SHORT_FREEZER_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        assetRegistry(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        backingManager(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        basketHandler(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        broker(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        distributor(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        freezeForever(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        freezeLong(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        freezeShort(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        frozen(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        furnace(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        init(components: ComponentsStruct, rsr_: PromiseOrValue<string>, shortFreeze_: PromiseOrValue<BigNumberish>, longFreeze_: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        longFreeze(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        longFreezes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        paused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pausedOrFrozen(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        poke(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        proxiableUUID(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rTokenTrader(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>;
        rsr(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rsrTrader(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        setLongFreeze(longFreeze_: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setShortFreeze(shortFreeze_: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        shortFreeze(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        stRSR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        unfreeze(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        unfreezeAt(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        unpause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        version(overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
