import { Contract, ContractFactory, Interface } from "ethers";
const _abi = [
    {
        "inputs": [],
        "name": "IndexOutOfBounds",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "TimestampOverflow",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "TooManyTranches",
        "type": "error"
    },
    {
        "inputs": [],
        "name": "ZeroAmountNotAllowed",
        "type": "error"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "operator",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "ticketAmount",
                "type": "uint256"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "licenseAmount",
                "type": "uint256"
            }
        ],
        "name": "AssetsClaimed",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "operator",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "ticketAmount",
                "type": "uint256"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "licenseAmount",
                "type": "uint256"
            },
            {
                "indexed": false,
                "internalType": "uint64",
                "name": "unlockTimestamp",
                "type": "uint64"
            }
        ],
        "name": "AssetsQueuedForExit",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "operator",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "ticketAmount",
                "type": "uint256"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "licenseAmount",
                "type": "uint256"
            },
            {
                "indexed": false,
                "internalType": "bool",
                "name": "includedLockedAssets",
                "type": "bool"
            }
        ],
        "name": "PendingAssetsSlashed",
        "type": "event"
    }
];
const _bytecode = "0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300081c000a";
const isSuperArgs = (xs) => xs.length > 1;
export class ExitQueueLib__factory extends ContractFactory {
    constructor(...args) {
        if (isSuperArgs(args)) {
            super(...args);
        }
        else {
            super(_abi, _bytecode, args[0]);
        }
    }
    getDeployTransaction(overrides) {
        return super.getDeployTransaction(overrides || {});
    }
    ;
    deploy(overrides) {
        return super.deploy(overrides || {});
    }
    connect(runner) {
        return super.connect(runner);
    }
    static bytecode = _bytecode;
    static abi = _abi;
    static createInterface() {
        return new Interface(_abi);
    }
    attach(address) {
        return super.attach(address);
    }
    static connect(address, runner) {
        return new Contract(address, _abi, runner);
    }
}
