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 declare namespace ISetToken {
    type PositionStruct = {
        component: PromiseOrValue<string>;
        module: PromiseOrValue<string>;
        unit: PromiseOrValue<BigNumberish>;
        positionState: PromiseOrValue<BigNumberish>;
        data: PromiseOrValue<BytesLike>;
    };
    type PositionStructOutput = [string, string, BigNumber, number, string] & {
        component: string;
        module: string;
        unit: BigNumber;
        positionState: number;
        data: string;
    };
}
export interface MoonrockTokenInterface extends utils.Interface {
    functions: {
        'addComponent(address)': FunctionFragment;
        'addExternalPositionModule(address,address)': FunctionFragment;
        'addModule(address)': FunctionFragment;
        'allowance(address,address)': FunctionFragment;
        'approve(address,uint256)': FunctionFragment;
        'balanceOf(address)': FunctionFragment;
        'burn(address,uint256)': FunctionFragment;
        'components(uint256)': FunctionFragment;
        'controller()': FunctionFragment;
        'decimals()': FunctionFragment;
        'decreaseAllowance(address,uint256)': FunctionFragment;
        'editDefaultPositionUnit(address,int256)': FunctionFragment;
        'editExternalPositionData(address,address,bytes)': FunctionFragment;
        'editExternalPositionUnit(address,address,int256)': FunctionFragment;
        'editPositionMultiplier(int256)': FunctionFragment;
        'getComponents()': FunctionFragment;
        'getDefaultPositionRealUnit(address)': FunctionFragment;
        'getExternalPositionData(address,address)': FunctionFragment;
        'getExternalPositionModules(address)': FunctionFragment;
        'getExternalPositionRealUnit(address,address)': FunctionFragment;
        'getModules()': FunctionFragment;
        'getPositions()': FunctionFragment;
        'getTotalComponentRealUnits(address)': FunctionFragment;
        'increaseAllowance(address,uint256)': FunctionFragment;
        'initializeModule()': FunctionFragment;
        'invoke(address,uint256,bytes)': FunctionFragment;
        'isComponent(address)': FunctionFragment;
        'isExternalPositionModule(address,address)': FunctionFragment;
        'isInitializedModule(address)': FunctionFragment;
        'isLocked()': FunctionFragment;
        'isPendingModule(address)': FunctionFragment;
        'lock()': FunctionFragment;
        'locker()': FunctionFragment;
        'manager()': FunctionFragment;
        'mint(address,uint256)': FunctionFragment;
        'moduleStates(address)': FunctionFragment;
        'modules(uint256)': FunctionFragment;
        'name()': FunctionFragment;
        'positionMultiplier()': FunctionFragment;
        'removeComponent(address)': FunctionFragment;
        'removeExternalPositionModule(address,address)': FunctionFragment;
        'removeModule(address)': FunctionFragment;
        'removePendingModule(address)': FunctionFragment;
        'setManager(address)': FunctionFragment;
        'symbol()': FunctionFragment;
        'totalSupply()': FunctionFragment;
        'transfer(address,uint256)': FunctionFragment;
        'transferFrom(address,address,uint256)': FunctionFragment;
        'unlock()': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'addComponent' | 'addExternalPositionModule' | 'addModule' | 'allowance' | 'approve' | 'balanceOf' | 'burn' | 'components' | 'controller' | 'decimals' | 'decreaseAllowance' | 'editDefaultPositionUnit' | 'editExternalPositionData' | 'editExternalPositionUnit' | 'editPositionMultiplier' | 'getComponents' | 'getDefaultPositionRealUnit' | 'getExternalPositionData' | 'getExternalPositionModules' | 'getExternalPositionRealUnit' | 'getModules' | 'getPositions' | 'getTotalComponentRealUnits' | 'increaseAllowance' | 'initializeModule' | 'invoke' | 'isComponent' | 'isExternalPositionModule' | 'isInitializedModule' | 'isLocked' | 'isPendingModule' | 'lock' | 'locker' | 'manager' | 'mint' | 'moduleStates' | 'modules' | 'name' | 'positionMultiplier' | 'removeComponent' | 'removeExternalPositionModule' | 'removeModule' | 'removePendingModule' | 'setManager' | 'symbol' | 'totalSupply' | 'transfer' | 'transferFrom' | 'unlock'): FunctionFragment;
    encodeFunctionData(functionFragment: 'addComponent', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'addExternalPositionModule', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'addModule', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'allowance', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'approve', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'balanceOf', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'burn', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'components', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'controller', values?: undefined): string;
    encodeFunctionData(functionFragment: 'decimals', values?: undefined): string;
    encodeFunctionData(functionFragment: 'decreaseAllowance', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'editDefaultPositionUnit', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'editExternalPositionData', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'editExternalPositionUnit', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'editPositionMultiplier', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getComponents', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getDefaultPositionRealUnit', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getExternalPositionData', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getExternalPositionModules', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getExternalPositionRealUnit', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getModules', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getPositions', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getTotalComponentRealUnits', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'increaseAllowance', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'initializeModule', values?: undefined): string;
    encodeFunctionData(functionFragment: 'invoke', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'isComponent', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'isExternalPositionModule', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'isInitializedModule', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'isLocked', values?: undefined): string;
    encodeFunctionData(functionFragment: 'isPendingModule', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'lock', values?: undefined): string;
    encodeFunctionData(functionFragment: 'locker', values?: undefined): string;
    encodeFunctionData(functionFragment: 'manager', values?: undefined): string;
    encodeFunctionData(functionFragment: 'mint', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'moduleStates', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'modules', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'name', values?: undefined): string;
    encodeFunctionData(functionFragment: 'positionMultiplier', values?: undefined): string;
    encodeFunctionData(functionFragment: 'removeComponent', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'removeExternalPositionModule', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'removeModule', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'removePendingModule', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setManager', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'symbol', values?: undefined): string;
    encodeFunctionData(functionFragment: 'totalSupply', values?: undefined): string;
    encodeFunctionData(functionFragment: 'transfer', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'transferFrom', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'unlock', values?: undefined): string;
    decodeFunctionResult(functionFragment: 'addComponent', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'addExternalPositionModule', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'addModule', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'allowance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'approve', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'burn', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'components', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'controller', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'decimals', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'decreaseAllowance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'editDefaultPositionUnit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'editExternalPositionData', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'editExternalPositionUnit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'editPositionMultiplier', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getComponents', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getDefaultPositionRealUnit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getExternalPositionData', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getExternalPositionModules', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getExternalPositionRealUnit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getModules', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getPositions', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getTotalComponentRealUnits', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'increaseAllowance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initializeModule', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'invoke', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isComponent', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isExternalPositionModule', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isInitializedModule', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isLocked', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isPendingModule', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lock', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'locker', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'manager', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'mint', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'moduleStates', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'modules', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'name', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'positionMultiplier', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'removeComponent', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'removeExternalPositionModule', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'removeModule', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'removePendingModule', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setManager', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'symbol', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalSupply', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transfer', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferFrom', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'unlock', data: BytesLike): Result;
    events: {
        'Approval(address,address,uint256)': EventFragment;
        'ComponentAdded(address)': EventFragment;
        'ComponentRemoved(address)': EventFragment;
        'DefaultPositionUnitEdited(address,int256)': EventFragment;
        'ExternalPositionDataEdited(address,address,bytes)': EventFragment;
        'ExternalPositionUnitEdited(address,address,int256)': EventFragment;
        'Invoked(address,uint256,bytes,bytes)': EventFragment;
        'ManagerEdited(address,address)': EventFragment;
        'ModuleAdded(address)': EventFragment;
        'ModuleInitialized(address)': EventFragment;
        'ModuleRemoved(address)': EventFragment;
        'PendingModuleRemoved(address)': EventFragment;
        'PositionModuleAdded(address,address)': EventFragment;
        'PositionModuleRemoved(address,address)': EventFragment;
        'PositionMultiplierEdited(int256)': EventFragment;
        'Transfer(address,address,uint256)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'Approval'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ComponentAdded'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ComponentRemoved'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'DefaultPositionUnitEdited'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ExternalPositionDataEdited'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ExternalPositionUnitEdited'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Invoked'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ManagerEdited'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ModuleAdded'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ModuleInitialized'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ModuleRemoved'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PendingModuleRemoved'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PositionModuleAdded'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PositionModuleRemoved'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PositionMultiplierEdited'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Transfer'): EventFragment;
}
export interface ApprovalEventObject {
    owner: string;
    spender: string;
    value: BigNumber;
}
export declare type ApprovalEvent = TypedEvent<[string, string, BigNumber], ApprovalEventObject>;
export declare type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>;
export interface ComponentAddedEventObject {
    _component: string;
}
export declare type ComponentAddedEvent = TypedEvent<[string], ComponentAddedEventObject>;
export declare type ComponentAddedEventFilter = TypedEventFilter<ComponentAddedEvent>;
export interface ComponentRemovedEventObject {
    _component: string;
}
export declare type ComponentRemovedEvent = TypedEvent<[string], ComponentRemovedEventObject>;
export declare type ComponentRemovedEventFilter = TypedEventFilter<ComponentRemovedEvent>;
export interface DefaultPositionUnitEditedEventObject {
    _component: string;
    _realUnit: BigNumber;
}
export declare type DefaultPositionUnitEditedEvent = TypedEvent<[string, BigNumber], DefaultPositionUnitEditedEventObject>;
export declare type DefaultPositionUnitEditedEventFilter = TypedEventFilter<DefaultPositionUnitEditedEvent>;
export interface ExternalPositionDataEditedEventObject {
    _component: string;
    _positionModule: string;
    _data: string;
}
export declare type ExternalPositionDataEditedEvent = TypedEvent<[
    string,
    string,
    string
], ExternalPositionDataEditedEventObject>;
export declare type ExternalPositionDataEditedEventFilter = TypedEventFilter<ExternalPositionDataEditedEvent>;
export interface ExternalPositionUnitEditedEventObject {
    _component: string;
    _positionModule: string;
    _realUnit: BigNumber;
}
export declare type ExternalPositionUnitEditedEvent = TypedEvent<[
    string,
    string,
    BigNumber
], ExternalPositionUnitEditedEventObject>;
export declare type ExternalPositionUnitEditedEventFilter = TypedEventFilter<ExternalPositionUnitEditedEvent>;
export interface InvokedEventObject {
    _target: string;
    _value: BigNumber;
    _data: string;
    _returnValue: string;
}
export declare type InvokedEvent = TypedEvent<[string, BigNumber, string, string], InvokedEventObject>;
export declare type InvokedEventFilter = TypedEventFilter<InvokedEvent>;
export interface ManagerEditedEventObject {
    _newManager: string;
    _oldManager: string;
}
export declare type ManagerEditedEvent = TypedEvent<[string, string], ManagerEditedEventObject>;
export declare type ManagerEditedEventFilter = TypedEventFilter<ManagerEditedEvent>;
export interface ModuleAddedEventObject {
    _module: string;
}
export declare type ModuleAddedEvent = TypedEvent<[string], ModuleAddedEventObject>;
export declare type ModuleAddedEventFilter = TypedEventFilter<ModuleAddedEvent>;
export interface ModuleInitializedEventObject {
    _module: string;
}
export declare type ModuleInitializedEvent = TypedEvent<[string], ModuleInitializedEventObject>;
export declare type ModuleInitializedEventFilter = TypedEventFilter<ModuleInitializedEvent>;
export interface ModuleRemovedEventObject {
    _module: string;
}
export declare type ModuleRemovedEvent = TypedEvent<[string], ModuleRemovedEventObject>;
export declare type ModuleRemovedEventFilter = TypedEventFilter<ModuleRemovedEvent>;
export interface PendingModuleRemovedEventObject {
    _module: string;
}
export declare type PendingModuleRemovedEvent = TypedEvent<[string], PendingModuleRemovedEventObject>;
export declare type PendingModuleRemovedEventFilter = TypedEventFilter<PendingModuleRemovedEvent>;
export interface PositionModuleAddedEventObject {
    _component: string;
    _positionModule: string;
}
export declare type PositionModuleAddedEvent = TypedEvent<[string, string], PositionModuleAddedEventObject>;
export declare type PositionModuleAddedEventFilter = TypedEventFilter<PositionModuleAddedEvent>;
export interface PositionModuleRemovedEventObject {
    _component: string;
    _positionModule: string;
}
export declare type PositionModuleRemovedEvent = TypedEvent<[string, string], PositionModuleRemovedEventObject>;
export declare type PositionModuleRemovedEventFilter = TypedEventFilter<PositionModuleRemovedEvent>;
export interface PositionMultiplierEditedEventObject {
    _newMultiplier: BigNumber;
}
export declare type PositionMultiplierEditedEvent = TypedEvent<[BigNumber], PositionMultiplierEditedEventObject>;
export declare type PositionMultiplierEditedEventFilter = TypedEventFilter<PositionMultiplierEditedEvent>;
export interface TransferEventObject {
    from: string;
    to: string;
    value: BigNumber;
}
export declare type TransferEvent = TypedEvent<[string, string, BigNumber], TransferEventObject>;
export declare type TransferEventFilter = TypedEventFilter<TransferEvent>;
export interface MoonrockToken extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: MoonrockTokenInterface;
    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: {
        addComponent(_component: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        addExternalPositionModule(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        addModule(_module: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        burn(_account: PromiseOrValue<string>, _quantity: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        components(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        controller(overrides?: CallOverrides): Promise<[string]>;
        decimals(overrides?: CallOverrides): Promise<[number]>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        editDefaultPositionUnit(_component: PromiseOrValue<string>, _realUnit: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        editExternalPositionData(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        editExternalPositionUnit(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, _realUnit: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        editPositionMultiplier(_newMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        getComponents(overrides?: CallOverrides): Promise<[string[]]>;
        getDefaultPositionRealUnit(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getExternalPositionData(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string]>;
        getExternalPositionModules(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string[]]>;
        getExternalPositionRealUnit(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getModules(overrides?: CallOverrides): Promise<[string[]]>;
        getPositions(overrides?: CallOverrides): Promise<[ISetToken.PositionStructOutput[]]>;
        getTotalComponentRealUnits(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        initializeModule(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        invoke(_target: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        isComponent(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        isExternalPositionModule(_component: PromiseOrValue<string>, _module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        isInitializedModule(_module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        isLocked(overrides?: CallOverrides): Promise<[boolean]>;
        isPendingModule(_module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        lock(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        locker(overrides?: CallOverrides): Promise<[string]>;
        manager(overrides?: CallOverrides): Promise<[string]>;
        mint(_account: PromiseOrValue<string>, _quantity: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        moduleStates(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[number]>;
        modules(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        name(overrides?: CallOverrides): Promise<[string]>;
        positionMultiplier(overrides?: CallOverrides): Promise<[BigNumber]>;
        removeComponent(_component: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        removeExternalPositionModule(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        removeModule(_module: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        removePendingModule(_module: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setManager(_manager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        symbol(overrides?: CallOverrides): Promise<[string]>;
        totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
        transfer(recipient: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        transferFrom(sender: PromiseOrValue<string>, recipient: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        unlock(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
    };
    addComponent(_component: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    addExternalPositionModule(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    addModule(_module: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    burn(_account: PromiseOrValue<string>, _quantity: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    components(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    controller(overrides?: CallOverrides): Promise<string>;
    decimals(overrides?: CallOverrides): Promise<number>;
    decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    editDefaultPositionUnit(_component: PromiseOrValue<string>, _realUnit: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    editExternalPositionData(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    editExternalPositionUnit(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, _realUnit: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    editPositionMultiplier(_newMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    getComponents(overrides?: CallOverrides): Promise<string[]>;
    getDefaultPositionRealUnit(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getExternalPositionData(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
    getExternalPositionModules(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string[]>;
    getExternalPositionRealUnit(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getModules(overrides?: CallOverrides): Promise<string[]>;
    getPositions(overrides?: CallOverrides): Promise<ISetToken.PositionStructOutput[]>;
    getTotalComponentRealUnits(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    initializeModule(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    invoke(_target: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    isComponent(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    isExternalPositionModule(_component: PromiseOrValue<string>, _module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    isInitializedModule(_module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    isLocked(overrides?: CallOverrides): Promise<boolean>;
    isPendingModule(_module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    lock(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    locker(overrides?: CallOverrides): Promise<string>;
    manager(overrides?: CallOverrides): Promise<string>;
    mint(_account: PromiseOrValue<string>, _quantity: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    moduleStates(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<number>;
    modules(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    name(overrides?: CallOverrides): Promise<string>;
    positionMultiplier(overrides?: CallOverrides): Promise<BigNumber>;
    removeComponent(_component: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    removeExternalPositionModule(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    removeModule(_module: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    removePendingModule(_module: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setManager(_manager: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    symbol(overrides?: CallOverrides): Promise<string>;
    totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
    transfer(recipient: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    transferFrom(sender: PromiseOrValue<string>, recipient: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    unlock(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    callStatic: {
        addComponent(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        addExternalPositionModule(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        addModule(_module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        burn(_account: PromiseOrValue<string>, _quantity: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        components(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        controller(overrides?: CallOverrides): Promise<string>;
        decimals(overrides?: CallOverrides): Promise<number>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        editDefaultPositionUnit(_component: PromiseOrValue<string>, _realUnit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        editExternalPositionData(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, _data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        editExternalPositionUnit(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, _realUnit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        editPositionMultiplier(_newMultiplier: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        getComponents(overrides?: CallOverrides): Promise<string[]>;
        getDefaultPositionRealUnit(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getExternalPositionData(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
        getExternalPositionModules(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string[]>;
        getExternalPositionRealUnit(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getModules(overrides?: CallOverrides): Promise<string[]>;
        getPositions(overrides?: CallOverrides): Promise<ISetToken.PositionStructOutput[]>;
        getTotalComponentRealUnits(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        initializeModule(overrides?: CallOverrides): Promise<void>;
        invoke(_target: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
        isComponent(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        isExternalPositionModule(_component: PromiseOrValue<string>, _module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        isInitializedModule(_module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        isLocked(overrides?: CallOverrides): Promise<boolean>;
        isPendingModule(_module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        lock(overrides?: CallOverrides): Promise<void>;
        locker(overrides?: CallOverrides): Promise<string>;
        manager(overrides?: CallOverrides): Promise<string>;
        mint(_account: PromiseOrValue<string>, _quantity: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        moduleStates(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<number>;
        modules(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        name(overrides?: CallOverrides): Promise<string>;
        positionMultiplier(overrides?: CallOverrides): Promise<BigNumber>;
        removeComponent(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        removeExternalPositionModule(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        removeModule(_module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        removePendingModule(_module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setManager(_manager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        symbol(overrides?: CallOverrides): Promise<string>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transfer(recipient: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        transferFrom(sender: PromiseOrValue<string>, recipient: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        unlock(overrides?: CallOverrides): Promise<void>;
    };
    filters: {
        'Approval(address,address,uint256)'(owner?: PromiseOrValue<string> | null, spender?: PromiseOrValue<string> | null, value?: null): ApprovalEventFilter;
        Approval(owner?: PromiseOrValue<string> | null, spender?: PromiseOrValue<string> | null, value?: null): ApprovalEventFilter;
        'ComponentAdded(address)'(_component?: PromiseOrValue<string> | null): ComponentAddedEventFilter;
        ComponentAdded(_component?: PromiseOrValue<string> | null): ComponentAddedEventFilter;
        'ComponentRemoved(address)'(_component?: PromiseOrValue<string> | null): ComponentRemovedEventFilter;
        ComponentRemoved(_component?: PromiseOrValue<string> | null): ComponentRemovedEventFilter;
        'DefaultPositionUnitEdited(address,int256)'(_component?: PromiseOrValue<string> | null, _realUnit?: null): DefaultPositionUnitEditedEventFilter;
        DefaultPositionUnitEdited(_component?: PromiseOrValue<string> | null, _realUnit?: null): DefaultPositionUnitEditedEventFilter;
        'ExternalPositionDataEdited(address,address,bytes)'(_component?: PromiseOrValue<string> | null, _positionModule?: PromiseOrValue<string> | null, _data?: null): ExternalPositionDataEditedEventFilter;
        ExternalPositionDataEdited(_component?: PromiseOrValue<string> | null, _positionModule?: PromiseOrValue<string> | null, _data?: null): ExternalPositionDataEditedEventFilter;
        'ExternalPositionUnitEdited(address,address,int256)'(_component?: PromiseOrValue<string> | null, _positionModule?: PromiseOrValue<string> | null, _realUnit?: null): ExternalPositionUnitEditedEventFilter;
        ExternalPositionUnitEdited(_component?: PromiseOrValue<string> | null, _positionModule?: PromiseOrValue<string> | null, _realUnit?: null): ExternalPositionUnitEditedEventFilter;
        'Invoked(address,uint256,bytes,bytes)'(_target?: PromiseOrValue<string> | null, _value?: PromiseOrValue<BigNumberish> | null, _data?: null, _returnValue?: null): InvokedEventFilter;
        Invoked(_target?: PromiseOrValue<string> | null, _value?: PromiseOrValue<BigNumberish> | null, _data?: null, _returnValue?: null): InvokedEventFilter;
        'ManagerEdited(address,address)'(_newManager?: null, _oldManager?: null): ManagerEditedEventFilter;
        ManagerEdited(_newManager?: null, _oldManager?: null): ManagerEditedEventFilter;
        'ModuleAdded(address)'(_module?: PromiseOrValue<string> | null): ModuleAddedEventFilter;
        ModuleAdded(_module?: PromiseOrValue<string> | null): ModuleAddedEventFilter;
        'ModuleInitialized(address)'(_module?: PromiseOrValue<string> | null): ModuleInitializedEventFilter;
        ModuleInitialized(_module?: PromiseOrValue<string> | null): ModuleInitializedEventFilter;
        'ModuleRemoved(address)'(_module?: PromiseOrValue<string> | null): ModuleRemovedEventFilter;
        ModuleRemoved(_module?: PromiseOrValue<string> | null): ModuleRemovedEventFilter;
        'PendingModuleRemoved(address)'(_module?: PromiseOrValue<string> | null): PendingModuleRemovedEventFilter;
        PendingModuleRemoved(_module?: PromiseOrValue<string> | null): PendingModuleRemovedEventFilter;
        'PositionModuleAdded(address,address)'(_component?: PromiseOrValue<string> | null, _positionModule?: PromiseOrValue<string> | null): PositionModuleAddedEventFilter;
        PositionModuleAdded(_component?: PromiseOrValue<string> | null, _positionModule?: PromiseOrValue<string> | null): PositionModuleAddedEventFilter;
        'PositionModuleRemoved(address,address)'(_component?: PromiseOrValue<string> | null, _positionModule?: PromiseOrValue<string> | null): PositionModuleRemovedEventFilter;
        PositionModuleRemoved(_component?: PromiseOrValue<string> | null, _positionModule?: PromiseOrValue<string> | null): PositionModuleRemovedEventFilter;
        'PositionMultiplierEdited(int256)'(_newMultiplier?: null): PositionMultiplierEditedEventFilter;
        PositionMultiplierEdited(_newMultiplier?: null): PositionMultiplierEditedEventFilter;
        'Transfer(address,address,uint256)'(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, value?: null): TransferEventFilter;
        Transfer(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, value?: null): TransferEventFilter;
    };
    estimateGas: {
        addComponent(_component: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        addExternalPositionModule(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        addModule(_module: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        burn(_account: PromiseOrValue<string>, _quantity: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        components(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        controller(overrides?: CallOverrides): Promise<BigNumber>;
        decimals(overrides?: CallOverrides): Promise<BigNumber>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        editDefaultPositionUnit(_component: PromiseOrValue<string>, _realUnit: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        editExternalPositionData(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        editExternalPositionUnit(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, _realUnit: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        editPositionMultiplier(_newMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        getComponents(overrides?: CallOverrides): Promise<BigNumber>;
        getDefaultPositionRealUnit(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getExternalPositionData(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getExternalPositionModules(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getExternalPositionRealUnit(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getModules(overrides?: CallOverrides): Promise<BigNumber>;
        getPositions(overrides?: CallOverrides): Promise<BigNumber>;
        getTotalComponentRealUnits(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        initializeModule(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        invoke(_target: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        isComponent(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        isExternalPositionModule(_component: PromiseOrValue<string>, _module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        isInitializedModule(_module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        isLocked(overrides?: CallOverrides): Promise<BigNumber>;
        isPendingModule(_module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        lock(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        locker(overrides?: CallOverrides): Promise<BigNumber>;
        manager(overrides?: CallOverrides): Promise<BigNumber>;
        mint(_account: PromiseOrValue<string>, _quantity: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        moduleStates(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        modules(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        name(overrides?: CallOverrides): Promise<BigNumber>;
        positionMultiplier(overrides?: CallOverrides): Promise<BigNumber>;
        removeComponent(_component: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        removeExternalPositionModule(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        removeModule(_module: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        removePendingModule(_module: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setManager(_manager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        symbol(overrides?: CallOverrides): Promise<BigNumber>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transfer(recipient: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        transferFrom(sender: PromiseOrValue<string>, recipient: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        unlock(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        addComponent(_component: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        addExternalPositionModule(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        addModule(_module: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        burn(_account: PromiseOrValue<string>, _quantity: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        components(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        controller(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        decimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        editDefaultPositionUnit(_component: PromiseOrValue<string>, _realUnit: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        editExternalPositionData(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        editExternalPositionUnit(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, _realUnit: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        editPositionMultiplier(_newMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        getComponents(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getDefaultPositionRealUnit(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getExternalPositionData(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getExternalPositionModules(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getExternalPositionRealUnit(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getModules(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getPositions(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getTotalComponentRealUnits(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        increaseAllowance(spender: PromiseOrValue<string>, addedValue: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        initializeModule(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        invoke(_target: PromiseOrValue<string>, _value: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        isComponent(_component: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isExternalPositionModule(_component: PromiseOrValue<string>, _module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isInitializedModule(_module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isLocked(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isPendingModule(_module: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lock(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        locker(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        manager(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        mint(_account: PromiseOrValue<string>, _quantity: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        moduleStates(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        modules(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        positionMultiplier(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        removeComponent(_component: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        removeExternalPositionModule(_component: PromiseOrValue<string>, _positionModule: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        removeModule(_module: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        removePendingModule(_module: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setManager(_manager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        symbol(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        transfer(recipient: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        transferFrom(sender: PromiseOrValue<string>, recipient: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        unlock(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
    };
}
