"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TokemakTokeStaking__factory = void 0;
const ethers_1 = require("ethers");
const _abi = [
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleIx',
                type: 'uint256',
            },
        ],
        name: 'Deposited',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'fxStateSender',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'address',
                name: 'destinationOnL2',
                type: 'address',
            },
        ],
        name: 'DestinationsSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'bool',
                name: 'eventSendSet',
                type: 'bool',
            },
        ],
        name: 'EventSendSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint256[]',
                name: 'scheduleIdxs',
                type: 'uint256[]',
            },
            {
                indexed: false,
                internalType: 'address[]',
                name: 'addresses',
                type: 'address[]',
            },
        ],
        name: 'NotionalAddressesSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: 'previousOwner',
                type: 'address',
            },
            {
                indexed: true,
                internalType: 'address',
                name: 'newOwner',
                type: 'address',
            },
        ],
        name: 'OwnershipTransferred',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
        ],
        name: 'Paused',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'depositor',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'bool',
                name: 'allowed',
                type: 'bool',
            },
        ],
        name: 'PermissionedDepositorSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'from',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleFrom',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleTo',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'address',
                name: 'to',
                type: 'address',
            },
        ],
        name: 'QueuedTransferRejected',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'from',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleFrom',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleTo',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'address',
                name: 'to',
                type: 'address',
            },
        ],
        name: 'QueuedTransferRemoved',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleIndex',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'cliff',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'duration',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'interval',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'bool',
                name: 'setup',
                type: 'bool',
            },
            {
                indexed: false,
                internalType: 'bool',
                name: 'isActive',
                type: 'bool',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'hardStart',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'address',
                name: 'notional',
                type: 'address',
            },
        ],
        name: 'ScheduleAdded',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleIndex',
                type: 'uint256',
            },
        ],
        name: 'ScheduleRemoved',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleId',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'bool',
                name: 'isActive',
                type: 'bool',
            },
        ],
        name: 'ScheduleStatusSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleIx',
                type: 'uint256',
            },
        ],
        name: 'Slashed',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'from',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleFrom',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleTo',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'address',
                name: 'to',
                type: 'address',
            },
        ],
        name: 'StakeTransferred',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'approverAddress',
                type: 'address',
            },
        ],
        name: 'TransferApproverSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'from',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleFrom',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleTo',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'address',
                name: 'to',
                type: 'address',
            },
        ],
        name: 'TransferQueued',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
        ],
        name: 'Unpaused',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256[]',
                name: 'userSchedulesIdxs',
                type: 'uint256[]',
            },
        ],
        name: 'UserSchedulesSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleIdx',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
        ],
        name: 'WithdrawCompleted',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleIdx',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
        ],
        name: 'WithdrawalRequested',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'user',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'scheduleFrom',
                type: 'uint256',
            },
        ],
        name: 'ZeroSweep',
        type: 'event',
    },
    {
        inputs: [],
        name: '_eventSend',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                components: [
                    {
                        internalType: 'uint256',
                        name: 'cliff',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'duration',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'interval',
                        type: 'uint256',
                    },
                    {
                        internalType: 'bool',
                        name: 'setup',
                        type: 'bool',
                    },
                    {
                        internalType: 'bool',
                        name: 'isActive',
                        type: 'bool',
                    },
                    {
                        internalType: 'uint256',
                        name: 'hardStart',
                        type: 'uint256',
                    },
                    {
                        internalType: 'bool',
                        name: 'isPublic',
                        type: 'bool',
                    },
                ],
                internalType: 'struct IStaking.StakingSchedule',
                name: 'schedule',
                type: 'tuple',
            },
            {
                internalType: 'address',
                name: 'notional',
                type: 'address',
            },
        ],
        name: 'addSchedule',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'scheduleIndex',
                type: 'uint256',
            },
        ],
        name: 'availableForWithdrawal',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
        ],
        name: 'balanceOf',
        outputs: [
            {
                internalType: 'uint256',
                name: 'value',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'delegateFunction',
        outputs: [
            {
                internalType: 'contract IDelegateFunction',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
        ],
        name: 'deposit',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'scheduleIndex',
                type: 'uint256',
            },
        ],
        name: 'deposit',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'scheduleIndex',
                type: 'uint256',
            },
        ],
        name: 'depositFor',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
            {
                components: [
                    {
                        internalType: 'uint256',
                        name: 'cliff',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'duration',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'interval',
                        type: 'uint256',
                    },
                    {
                        internalType: 'bool',
                        name: 'setup',
                        type: 'bool',
                    },
                    {
                        internalType: 'bool',
                        name: 'isActive',
                        type: 'bool',
                    },
                    {
                        internalType: 'uint256',
                        name: 'hardStart',
                        type: 'uint256',
                    },
                    {
                        internalType: 'bool',
                        name: 'isPublic',
                        type: 'bool',
                    },
                ],
                internalType: 'struct IStaking.StakingSchedule',
                name: 'schedule',
                type: 'tuple',
            },
            {
                internalType: 'address',
                name: 'notional',
                type: 'address',
            },
        ],
        name: 'depositWithSchedule',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'destinations',
        outputs: [
            {
                internalType: 'contract IFxStateSender',
                name: 'fxStateSender',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'destinationOnL2',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'getSchedules',
        outputs: [
            {
                components: [
                    {
                        components: [
                            {
                                internalType: 'uint256',
                                name: 'cliff',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'duration',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'interval',
                                type: 'uint256',
                            },
                            {
                                internalType: 'bool',
                                name: 'setup',
                                type: 'bool',
                            },
                            {
                                internalType: 'bool',
                                name: 'isActive',
                                type: 'bool',
                            },
                            {
                                internalType: 'uint256',
                                name: 'hardStart',
                                type: 'uint256',
                            },
                            {
                                internalType: 'bool',
                                name: 'isPublic',
                                type: 'bool',
                            },
                        ],
                        internalType: 'struct IStaking.StakingSchedule',
                        name: 'schedule',
                        type: 'tuple',
                    },
                    {
                        internalType: 'uint256',
                        name: 'index',
                        type: 'uint256',
                    },
                ],
                internalType: 'struct IStaking.StakingScheduleInfo[]',
                name: 'retSchedules',
                type: 'tuple[]',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
        ],
        name: 'getStakes',
        outputs: [
            {
                components: [
                    {
                        internalType: 'uint256',
                        name: 'initial',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'withdrawn',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'slashed',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'started',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'scheduleIx',
                        type: 'uint256',
                    },
                ],
                internalType: 'struct IStaking.StakingDetails[]',
                name: 'stakes',
                type: 'tuple[]',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract IERC20Upgradeable',
                name: '_tokeToken',
                type: 'address',
            },
            {
                internalType: 'contract IManager',
                name: '_manager',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_treasury',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_scheduleZeroNotional',
                type: 'address',
            },
        ],
        name: 'initialize',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'manager',
        outputs: [
            {
                internalType: 'contract IManager',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'nextScheduleIndex',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        name: 'notionalAddresses',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'owner',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'pause',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'paused',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'permissionedDepositors',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'renounceOwnership',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'scheduleIdx',
                type: 'uint256',
            },
        ],
        name: 'requestWithdrawal',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'requestedWithdrawals',
        outputs: [
            {
                internalType: 'uint256',
                name: 'minCycleIndex',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        name: 'schedules',
        outputs: [
            {
                internalType: 'uint256',
                name: 'cliff',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'duration',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'interval',
                type: 'uint256',
            },
            {
                internalType: 'bool',
                name: 'setup',
                type: 'bool',
            },
            {
                internalType: 'bool',
                name: 'isActive',
                type: 'bool',
            },
            {
                internalType: 'uint256',
                name: 'hardStart',
                type: 'uint256',
            },
            {
                internalType: 'bool',
                name: 'isPublic',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_fxStateSender',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_destinationOnL2',
                type: 'address',
            },
        ],
        name: 'setDestinations',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bool',
                name: '_eventSendSet',
                type: 'bool',
            },
        ],
        name: 'setEventSend',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256[]',
                name: 'scheduleIdxArr',
                type: 'uint256[]',
            },
            {
                internalType: 'address[]',
                name: 'addresses',
                type: 'address[]',
            },
        ],
        name: 'setNotionalAddresses',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                internalType: 'bool',
                name: 'canDeposit',
                type: 'bool',
            },
        ],
        name: 'setPermissionedDepositor',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: 'scheduleId',
                type: 'uint256',
            },
            {
                internalType: 'bool',
                name: 'activeBool',
                type: 'bool',
            },
        ],
        name: 'setScheduleStatus',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                internalType: 'uint256[]',
                name: 'userSchedulesIdxs',
                type: 'uint256[]',
            },
        ],
        name: 'setUserSchedules',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address[]',
                name: 'accounts',
                type: 'address[]',
            },
            {
                internalType: 'uint256[]',
                name: 'amounts',
                type: 'uint256[]',
            },
            {
                internalType: 'uint256',
                name: 'scheduleIndex',
                type: 'uint256',
            },
        ],
        name: 'slash',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'tokeToken',
        outputs: [
            {
                internalType: 'contract IERC20Upgradeable',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'newOwner',
                type: 'address',
            },
        ],
        name: 'transferOwnership',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'treasury',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'unpause',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'scheduleIndex',
                type: 'uint256',
            },
        ],
        name: 'unvested',
        outputs: [
            {
                internalType: 'uint256',
                name: 'value',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        name: 'userStakingSchedules',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        name: 'userStakings',
        outputs: [
            {
                internalType: 'uint256',
                name: 'initial',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'withdrawn',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'slashed',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'started',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'scheduleIx',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'scheduleIndex',
                type: 'uint256',
            },
        ],
        name: 'vested',
        outputs: [
            {
                internalType: 'uint256',
                name: 'value',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
        ],
        name: 'withdraw',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'scheduleIdx',
                type: 'uint256',
            },
        ],
        name: 'withdraw',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        name: 'withdrawalRequestsByIndex',
        outputs: [
            {
                internalType: 'uint256',
                name: 'minCycleIndex',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'withheldLiquidity',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
];
class TokemakTokeStaking__factory {
    static createInterface() {
        return new ethers_1.utils.Interface(_abi);
    }
    static connect(address, signerOrProvider) {
        return new ethers_1.Contract(address, _abi, signerOrProvider);
    }
}
exports.TokemakTokeStaking__factory = TokemakTokeStaking__factory;
TokemakTokeStaking__factory.abi = _abi;
//# sourceMappingURL=TokemakTokeStaking__factory.js.map