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 DataTypes {
    type MiningApprovalStruct = {
        token: PromiseOrValue<string>;
        swapContract: PromiseOrValue<string>;
    };
    type MiningApprovalStructOutput = [string, string] & {
        token: string;
        swapContract: string;
    };
}
export interface AccountFactoryInterface extends utils.Interface {
    functions: {
        '_contractsRegister()': FunctionFragment;
        'addCreditAccount()': FunctionFragment;
        'addMiningApprovals((address,address)[])': FunctionFragment;
        'cancelAllowance(address,address,address)': FunctionFragment;
        'countCreditAccounts()': FunctionFragment;
        'countCreditAccountsInStock()': FunctionFragment;
        'creditAccounts(uint256)': FunctionFragment;
        'finishMining()': FunctionFragment;
        'getNext(address)': FunctionFragment;
        'head()': FunctionFragment;
        'isCreditAccount(address)': FunctionFragment;
        'isMiningFinished()': FunctionFragment;
        'masterCreditAccount()': FunctionFragment;
        'mineCreditAccount()': FunctionFragment;
        'miningApprovals(uint256)': FunctionFragment;
        'pause()': FunctionFragment;
        'paused()': FunctionFragment;
        'returnCreditAccount(address)': FunctionFragment;
        'tail()': FunctionFragment;
        'takeCreditAccount(uint256,uint256)': FunctionFragment;
        'takeOut(address,address,address)': FunctionFragment;
        'unpause()': FunctionFragment;
        'version()': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: '_contractsRegister' | 'addCreditAccount' | 'addMiningApprovals' | 'cancelAllowance' | 'countCreditAccounts' | 'countCreditAccountsInStock' | 'creditAccounts' | 'finishMining' | 'getNext' | 'head' | 'isCreditAccount' | 'isMiningFinished' | 'masterCreditAccount' | 'mineCreditAccount' | 'miningApprovals' | 'pause' | 'paused' | 'returnCreditAccount' | 'tail' | 'takeCreditAccount' | 'takeOut' | 'unpause' | 'version'): FunctionFragment;
    encodeFunctionData(functionFragment: '_contractsRegister', values?: undefined): string;
    encodeFunctionData(functionFragment: 'addCreditAccount', values?: undefined): string;
    encodeFunctionData(functionFragment: 'addMiningApprovals', values: [DataTypes.MiningApprovalStruct[]]): string;
    encodeFunctionData(functionFragment: 'cancelAllowance', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'countCreditAccounts', values?: undefined): string;
    encodeFunctionData(functionFragment: 'countCreditAccountsInStock', values?: undefined): string;
    encodeFunctionData(functionFragment: 'creditAccounts', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'finishMining', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getNext', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'head', values?: undefined): string;
    encodeFunctionData(functionFragment: 'isCreditAccount', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'isMiningFinished', values?: undefined): string;
    encodeFunctionData(functionFragment: 'masterCreditAccount', values?: undefined): string;
    encodeFunctionData(functionFragment: 'mineCreditAccount', values?: undefined): string;
    encodeFunctionData(functionFragment: 'miningApprovals', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'pause', values?: undefined): string;
    encodeFunctionData(functionFragment: 'paused', values?: undefined): string;
    encodeFunctionData(functionFragment: 'returnCreditAccount', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'tail', values?: undefined): string;
    encodeFunctionData(functionFragment: 'takeCreditAccount', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'takeOut', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'unpause', values?: undefined): string;
    encodeFunctionData(functionFragment: 'version', values?: undefined): string;
    decodeFunctionResult(functionFragment: '_contractsRegister', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'addCreditAccount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'addMiningApprovals', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'cancelAllowance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'countCreditAccounts', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'countCreditAccountsInStock', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'creditAccounts', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'finishMining', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNext', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'head', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isCreditAccount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isMiningFinished', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'masterCreditAccount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'mineCreditAccount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'miningApprovals', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pause', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'paused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'returnCreditAccount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'tail', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'takeCreditAccount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'takeOut', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'unpause', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'version', data: BytesLike): Result;
    events: {
        'AccountMinerChanged(address)': EventFragment;
        'InitializeCreditAccount(address,address)': EventFragment;
        'NewCreditAccount(address)': EventFragment;
        'Paused(address)': EventFragment;
        'ReturnCreditAccount(address)': EventFragment;
        'TakeForever(address,address)': EventFragment;
        'Unpaused(address)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'AccountMinerChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'InitializeCreditAccount'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NewCreditAccount'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Paused'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ReturnCreditAccount'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'TakeForever'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Unpaused'): EventFragment;
}
export interface AccountMinerChangedEventObject {
    miner: string;
}
export declare type AccountMinerChangedEvent = TypedEvent<[string], AccountMinerChangedEventObject>;
export declare type AccountMinerChangedEventFilter = TypedEventFilter<AccountMinerChangedEvent>;
export interface InitializeCreditAccountEventObject {
    account: string;
    creditManager: string;
}
export declare type InitializeCreditAccountEvent = TypedEvent<[string, string], InitializeCreditAccountEventObject>;
export declare type InitializeCreditAccountEventFilter = TypedEventFilter<InitializeCreditAccountEvent>;
export interface NewCreditAccountEventObject {
    account: string;
}
export declare type NewCreditAccountEvent = TypedEvent<[string], NewCreditAccountEventObject>;
export declare type NewCreditAccountEventFilter = TypedEventFilter<NewCreditAccountEvent>;
export interface PausedEventObject {
    account: string;
}
export declare type PausedEvent = TypedEvent<[string], PausedEventObject>;
export declare type PausedEventFilter = TypedEventFilter<PausedEvent>;
export interface ReturnCreditAccountEventObject {
    account: string;
}
export declare type ReturnCreditAccountEvent = TypedEvent<[string], ReturnCreditAccountEventObject>;
export declare type ReturnCreditAccountEventFilter = TypedEventFilter<ReturnCreditAccountEvent>;
export interface TakeForeverEventObject {
    creditAccount: string;
    to: string;
}
export declare type TakeForeverEvent = TypedEvent<[string, string], TakeForeverEventObject>;
export declare type TakeForeverEventFilter = TypedEventFilter<TakeForeverEvent>;
export interface UnpausedEventObject {
    account: string;
}
export declare type UnpausedEvent = TypedEvent<[string], UnpausedEventObject>;
export declare type UnpausedEventFilter = TypedEventFilter<UnpausedEvent>;
export interface AccountFactory extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: AccountFactoryInterface;
    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: {
        _contractsRegister(overrides?: CallOverrides): Promise<[string]>;
        addCreditAccount(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        addMiningApprovals(_miningApprovals: DataTypes.MiningApprovalStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        cancelAllowance(account: PromiseOrValue<string>, token: PromiseOrValue<string>, targetContract: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        countCreditAccounts(overrides?: CallOverrides): Promise<[BigNumber]>;
        countCreditAccountsInStock(overrides?: CallOverrides): Promise<[BigNumber]>;
        creditAccounts(id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        finishMining(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        getNext(creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string]>;
        head(overrides?: CallOverrides): Promise<[string]>;
        isCreditAccount(addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        isMiningFinished(overrides?: CallOverrides): Promise<[boolean]>;
        masterCreditAccount(overrides?: CallOverrides): Promise<[string]>;
        mineCreditAccount(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        miningApprovals(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string, string] & {
            token: string;
            swapContract: string;
        }>;
        pause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        paused(overrides?: CallOverrides): Promise<[boolean]>;
        returnCreditAccount(usedAccount: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        tail(overrides?: CallOverrides): Promise<[string]>;
        takeCreditAccount(_borrowedAmount: PromiseOrValue<BigNumberish>, _cumulativeIndexAtOpen: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        takeOut(prev: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, to: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        unpause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        version(overrides?: CallOverrides): Promise<[BigNumber]>;
    };
    _contractsRegister(overrides?: CallOverrides): Promise<string>;
    addCreditAccount(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    addMiningApprovals(_miningApprovals: DataTypes.MiningApprovalStruct[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    cancelAllowance(account: PromiseOrValue<string>, token: PromiseOrValue<string>, targetContract: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    countCreditAccounts(overrides?: CallOverrides): Promise<BigNumber>;
    countCreditAccountsInStock(overrides?: CallOverrides): Promise<BigNumber>;
    creditAccounts(id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    finishMining(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    getNext(creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
    head(overrides?: CallOverrides): Promise<string>;
    isCreditAccount(addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    isMiningFinished(overrides?: CallOverrides): Promise<boolean>;
    masterCreditAccount(overrides?: CallOverrides): Promise<string>;
    mineCreditAccount(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    miningApprovals(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string, string] & {
        token: string;
        swapContract: string;
    }>;
    pause(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    paused(overrides?: CallOverrides): Promise<boolean>;
    returnCreditAccount(usedAccount: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    tail(overrides?: CallOverrides): Promise<string>;
    takeCreditAccount(_borrowedAmount: PromiseOrValue<BigNumberish>, _cumulativeIndexAtOpen: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    takeOut(prev: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, to: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    unpause(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    version(overrides?: CallOverrides): Promise<BigNumber>;
    callStatic: {
        _contractsRegister(overrides?: CallOverrides): Promise<string>;
        addCreditAccount(overrides?: CallOverrides): Promise<void>;
        addMiningApprovals(_miningApprovals: DataTypes.MiningApprovalStruct[], overrides?: CallOverrides): Promise<void>;
        cancelAllowance(account: PromiseOrValue<string>, token: PromiseOrValue<string>, targetContract: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        countCreditAccounts(overrides?: CallOverrides): Promise<BigNumber>;
        countCreditAccountsInStock(overrides?: CallOverrides): Promise<BigNumber>;
        creditAccounts(id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        finishMining(overrides?: CallOverrides): Promise<void>;
        getNext(creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
        head(overrides?: CallOverrides): Promise<string>;
        isCreditAccount(addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        isMiningFinished(overrides?: CallOverrides): Promise<boolean>;
        masterCreditAccount(overrides?: CallOverrides): Promise<string>;
        mineCreditAccount(overrides?: CallOverrides): Promise<void>;
        miningApprovals(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string, string] & {
            token: string;
            swapContract: string;
        }>;
        pause(overrides?: CallOverrides): Promise<void>;
        paused(overrides?: CallOverrides): Promise<boolean>;
        returnCreditAccount(usedAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        tail(overrides?: CallOverrides): Promise<string>;
        takeCreditAccount(_borrowedAmount: PromiseOrValue<BigNumberish>, _cumulativeIndexAtOpen: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        takeOut(prev: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        unpause(overrides?: CallOverrides): Promise<void>;
        version(overrides?: CallOverrides): Promise<BigNumber>;
    };
    filters: {
        'AccountMinerChanged(address)'(miner?: PromiseOrValue<string> | null): AccountMinerChangedEventFilter;
        AccountMinerChanged(miner?: PromiseOrValue<string> | null): AccountMinerChangedEventFilter;
        'InitializeCreditAccount(address,address)'(account?: PromiseOrValue<string> | null, creditManager?: PromiseOrValue<string> | null): InitializeCreditAccountEventFilter;
        InitializeCreditAccount(account?: PromiseOrValue<string> | null, creditManager?: PromiseOrValue<string> | null): InitializeCreditAccountEventFilter;
        'NewCreditAccount(address)'(account?: PromiseOrValue<string> | null): NewCreditAccountEventFilter;
        NewCreditAccount(account?: PromiseOrValue<string> | null): NewCreditAccountEventFilter;
        'Paused(address)'(account?: null): PausedEventFilter;
        Paused(account?: null): PausedEventFilter;
        'ReturnCreditAccount(address)'(account?: PromiseOrValue<string> | null): ReturnCreditAccountEventFilter;
        ReturnCreditAccount(account?: PromiseOrValue<string> | null): ReturnCreditAccountEventFilter;
        'TakeForever(address,address)'(creditAccount?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null): TakeForeverEventFilter;
        TakeForever(creditAccount?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null): TakeForeverEventFilter;
        'Unpaused(address)'(account?: null): UnpausedEventFilter;
        Unpaused(account?: null): UnpausedEventFilter;
    };
    estimateGas: {
        _contractsRegister(overrides?: CallOverrides): Promise<BigNumber>;
        addCreditAccount(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        addMiningApprovals(_miningApprovals: DataTypes.MiningApprovalStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        cancelAllowance(account: PromiseOrValue<string>, token: PromiseOrValue<string>, targetContract: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        countCreditAccounts(overrides?: CallOverrides): Promise<BigNumber>;
        countCreditAccountsInStock(overrides?: CallOverrides): Promise<BigNumber>;
        creditAccounts(id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        finishMining(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        getNext(creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        head(overrides?: CallOverrides): Promise<BigNumber>;
        isCreditAccount(addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        isMiningFinished(overrides?: CallOverrides): Promise<BigNumber>;
        masterCreditAccount(overrides?: CallOverrides): Promise<BigNumber>;
        mineCreditAccount(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        miningApprovals(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        pause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        paused(overrides?: CallOverrides): Promise<BigNumber>;
        returnCreditAccount(usedAccount: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        tail(overrides?: CallOverrides): Promise<BigNumber>;
        takeCreditAccount(_borrowedAmount: PromiseOrValue<BigNumberish>, _cumulativeIndexAtOpen: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        takeOut(prev: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, to: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        unpause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        version(overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        _contractsRegister(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        addCreditAccount(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        addMiningApprovals(_miningApprovals: DataTypes.MiningApprovalStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        cancelAllowance(account: PromiseOrValue<string>, token: PromiseOrValue<string>, targetContract: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        countCreditAccounts(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        countCreditAccountsInStock(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        creditAccounts(id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        finishMining(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        getNext(creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        head(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isCreditAccount(addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isMiningFinished(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        masterCreditAccount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        mineCreditAccount(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        miningApprovals(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        paused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        returnCreditAccount(usedAccount: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        tail(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        takeCreditAccount(_borrowedAmount: PromiseOrValue<BigNumberish>, _cumulativeIndexAtOpen: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        takeOut(prev: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, to: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        unpause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        version(overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
