import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../common.js";
export declare namespace Checkpoints {
    type Checkpoint208Struct = {
        _key: BigNumberish;
        _value: BigNumberish;
    };
    type Checkpoint208StructOutput = [_key: bigint, _value: bigint] & {
        _key: bigint;
        _value: bigint;
    };
}
export interface InterfoldTicketTokenInterface extends Interface {
    getFunction(nameOrSignature: "CLOCK_MODE" | "DOMAIN_SEPARATOR" | "REGISTRY_CHANGE_DELAY" | "acceptOwnership" | "activateRegistryChange" | "allowance" | "approve" | "balanceOf" | "burnTickets" | "cancelRegistryChange" | "checkpoints" | "clock" | "decimals" | "delegate" | "delegateBySig" | "delegates" | "depositFor" | "depositFrom" | "eip712Domain" | "getPastTotalSupply" | "getPastVotes" | "getVotes" | "lockRegistry" | "name" | "nonces" | "numCheckpoints" | "owner" | "payableBalance" | "payout" | "pendingOwner" | "pendingRegistry" | "pendingRegistryActivationTime" | "permit" | "registry" | "registryLocked" | "renounceOwnership" | "requestRegistryChange" | "rescueERC20" | "setRegistry" | "symbol" | "totalSupply" | "transfer" | "transferFrom" | "transferOwnership" | "underlying" | "withdrawTo"): FunctionFragment;
    getEvent(nameOrSignatureOrTopic: "Approval" | "DelegateChanged" | "DelegateVotesChanged" | "EIP712DomainChanged" | "ERC20Rescued" | "OwnershipTransferStarted" | "OwnershipTransferred" | "Payout" | "RegistryChangeCancelled" | "RegistryChangeRequested" | "RegistryChanged" | "RegistryLocked" | "Transfer"): EventFragment;
    encodeFunctionData(functionFragment: 'CLOCK_MODE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'DOMAIN_SEPARATOR', values?: undefined): string;
    encodeFunctionData(functionFragment: 'REGISTRY_CHANGE_DELAY', values?: undefined): string;
    encodeFunctionData(functionFragment: 'acceptOwnership', values?: undefined): string;
    encodeFunctionData(functionFragment: 'activateRegistryChange', values?: undefined): string;
    encodeFunctionData(functionFragment: 'allowance', values: [AddressLike, AddressLike]): string;
    encodeFunctionData(functionFragment: 'approve', values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'balanceOf', values: [AddressLike]): string;
    encodeFunctionData(functionFragment: 'burnTickets', values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'cancelRegistryChange', values?: undefined): string;
    encodeFunctionData(functionFragment: 'checkpoints', values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'clock', values?: undefined): string;
    encodeFunctionData(functionFragment: 'decimals', values?: undefined): string;
    encodeFunctionData(functionFragment: 'delegate', values: [AddressLike]): string;
    encodeFunctionData(functionFragment: 'delegateBySig', values: [AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike]): string;
    encodeFunctionData(functionFragment: 'delegates', values: [AddressLike]): string;
    encodeFunctionData(functionFragment: 'depositFor', values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'depositFrom', values: [AddressLike, AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'eip712Domain', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getPastTotalSupply', values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getPastVotes', values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'getVotes', values: [AddressLike]): string;
    encodeFunctionData(functionFragment: 'lockRegistry', values?: undefined): string;
    encodeFunctionData(functionFragment: 'name', values?: undefined): string;
    encodeFunctionData(functionFragment: 'nonces', values: [AddressLike]): string;
    encodeFunctionData(functionFragment: 'numCheckpoints', values: [AddressLike]): string;
    encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'payableBalance', values?: undefined): string;
    encodeFunctionData(functionFragment: 'payout', values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'pendingOwner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'pendingRegistry', values?: undefined): string;
    encodeFunctionData(functionFragment: 'pendingRegistryActivationTime', values?: undefined): string;
    encodeFunctionData(functionFragment: 'permit', values: [AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike]): string;
    encodeFunctionData(functionFragment: 'registry', values?: undefined): string;
    encodeFunctionData(functionFragment: 'registryLocked', values?: undefined): string;
    encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string;
    encodeFunctionData(functionFragment: 'requestRegistryChange', values: [AddressLike]): string;
    encodeFunctionData(functionFragment: 'rescueERC20', values: [AddressLike, AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'setRegistry', values: [AddressLike]): string;
    encodeFunctionData(functionFragment: 'symbol', values?: undefined): string;
    encodeFunctionData(functionFragment: 'totalSupply', values?: undefined): string;
    encodeFunctionData(functionFragment: 'transfer', values: [AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'transferFrom', values: [AddressLike, AddressLike, BigNumberish]): string;
    encodeFunctionData(functionFragment: 'transferOwnership', values: [AddressLike]): string;
    encodeFunctionData(functionFragment: 'underlying', values?: undefined): string;
    encodeFunctionData(functionFragment: 'withdrawTo', values: [AddressLike, BigNumberish]): string;
    decodeFunctionResult(functionFragment: 'CLOCK_MODE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'DOMAIN_SEPARATOR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'REGISTRY_CHANGE_DELAY', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'acceptOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'activateRegistryChange', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'allowance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'approve', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'burnTickets', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'cancelRegistryChange', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'checkpoints', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'clock', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'decimals', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'delegate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'delegateBySig', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'delegates', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'depositFor', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'depositFrom', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'eip712Domain', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getPastTotalSupply', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getPastVotes', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getVotes', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lockRegistry', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'name', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'nonces', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'numCheckpoints', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'payableBalance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'payout', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pendingOwner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pendingRegistry', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pendingRegistryActivationTime', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'permit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'registry', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'registryLocked', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'requestRegistryChange', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rescueERC20', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setRegistry', 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: 'transferOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'underlying', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdrawTo', data: BytesLike): Result;
}
export declare namespace ApprovalEvent {
    type InputTuple = [owner: AddressLike, spender: AddressLike, value: BigNumberish];
    type OutputTuple = [owner: string, spender: string, value: bigint];
    interface OutputObject {
        owner: string;
        spender: string;
        value: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace DelegateChangedEvent {
    type InputTuple = [delegator: AddressLike, fromDelegate: AddressLike, toDelegate: AddressLike];
    type OutputTuple = [delegator: string, fromDelegate: string, toDelegate: string];
    interface OutputObject {
        delegator: string;
        fromDelegate: string;
        toDelegate: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace DelegateVotesChangedEvent {
    type InputTuple = [delegate: AddressLike, previousVotes: BigNumberish, newVotes: BigNumberish];
    type OutputTuple = [delegate: string, previousVotes: bigint, newVotes: bigint];
    interface OutputObject {
        delegate: string;
        previousVotes: bigint;
        newVotes: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace EIP712DomainChangedEvent {
    type InputTuple = [];
    type OutputTuple = [];
    interface OutputObject {
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace ERC20RescuedEvent {
    type InputTuple = [token: AddressLike, to: AddressLike, amount: BigNumberish];
    type OutputTuple = [token: string, to: string, amount: bigint];
    interface OutputObject {
        token: string;
        to: string;
        amount: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace OwnershipTransferStartedEvent {
    type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
    type OutputTuple = [previousOwner: string, newOwner: string];
    interface OutputObject {
        previousOwner: string;
        newOwner: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace OwnershipTransferredEvent {
    type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
    type OutputTuple = [previousOwner: string, newOwner: string];
    interface OutputObject {
        previousOwner: string;
        newOwner: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace PayoutEvent {
    type InputTuple = [to: AddressLike, amount: BigNumberish];
    type OutputTuple = [to: string, amount: bigint];
    interface OutputObject {
        to: string;
        amount: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace RegistryChangeCancelledEvent {
    type InputTuple = [pendingRegistry: AddressLike];
    type OutputTuple = [pendingRegistry: string];
    interface OutputObject {
        pendingRegistry: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace RegistryChangeRequestedEvent {
    type InputTuple = [newRegistry: AddressLike, activatesAt: BigNumberish];
    type OutputTuple = [newRegistry: string, activatesAt: bigint];
    interface OutputObject {
        newRegistry: string;
        activatesAt: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace RegistryChangedEvent {
    type InputTuple = [oldRegistry: AddressLike, newRegistry: AddressLike];
    type OutputTuple = [oldRegistry: string, newRegistry: string];
    interface OutputObject {
        oldRegistry: string;
        newRegistry: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace RegistryLockedEvent {
    type InputTuple = [];
    type OutputTuple = [];
    interface OutputObject {
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace TransferEvent {
    type InputTuple = [from: AddressLike, to: AddressLike, value: BigNumberish];
    type OutputTuple = [from: string, to: string, value: bigint];
    interface OutputObject {
        from: string;
        to: string;
        value: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export interface InterfoldTicketToken extends BaseContract {
    connect(runner?: ContractRunner | null): InterfoldTicketToken;
    waitForDeployment(): Promise<this>;
    interface: InterfoldTicketTokenInterface;
    queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
    queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
    on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
    on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
    once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
    once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
    listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
    listeners(eventName?: string): Promise<Array<Listener>>;
    removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
    CLOCK_MODE: TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    DOMAIN_SEPARATOR: TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    REGISTRY_CHANGE_DELAY: TypedContractMethod<[
    ], [
        bigint
    ], 'view'>;
    acceptOwnership: TypedContractMethod<[
    ], [
        void
    ], 'nonpayable'>;
    activateRegistryChange: TypedContractMethod<[
    ], [
        void
    ], 'nonpayable'>;
    allowance: TypedContractMethod<[
        owner: AddressLike,
        spender: AddressLike
    ], [
        bigint
    ], 'view'>;
    approve: TypedContractMethod<[
        arg0: AddressLike,
        arg1: BigNumberish
    ], [
        boolean
    ], 'view'>;
    balanceOf: TypedContractMethod<[
        account: AddressLike
    ], [
        bigint
    ], 'view'>;
    burnTickets: TypedContractMethod<[
        operator: AddressLike,
        amount: BigNumberish
    ], [
        void
    ], 'nonpayable'>;
    cancelRegistryChange: TypedContractMethod<[
    ], [
        void
    ], 'nonpayable'>;
    checkpoints: TypedContractMethod<[
        account: AddressLike,
        pos: BigNumberish
    ], [
        Checkpoints.Checkpoint208StructOutput
    ], 'view'>;
    clock: TypedContractMethod<[
    ], [
        bigint
    ], 'view'>;
    decimals: TypedContractMethod<[
    ], [
        bigint
    ], 'view'>;
    delegate: TypedContractMethod<[
        delegatee: AddressLike
    ], [
        void
    ], 'nonpayable'>;
    delegateBySig: TypedContractMethod<[
        arg0: AddressLike,
        arg1: BigNumberish,
        arg2: BigNumberish,
        arg3: BigNumberish,
        arg4: BytesLike,
        arg5: BytesLike
    ], [
        void
    ], 'view'>;
    delegates: TypedContractMethod<[
        account: AddressLike
    ], [
        string
    ], 'view'>;
    depositFor: TypedContractMethod<[
        operator: AddressLike,
        amount: BigNumberish
    ], [
        boolean
    ], 'nonpayable'>;
    depositFrom: TypedContractMethod<[
        from: AddressLike,
        to: AddressLike,
        amount: BigNumberish
    ], [
        boolean
    ], 'nonpayable'>;
    eip712Domain: TypedContractMethod<[
    ], [
        [string, string, string, bigint, string, string, bigint[]] & {
            fields: string;
            name: string;
            version: string;
            chainId: bigint;
            verifyingContract: string;
            salt: string;
            extensions: bigint[];
        }
    ], 'view'>;
    getPastTotalSupply: TypedContractMethod<[
        timepoint: BigNumberish
    ], [
        bigint
    ], 'view'>;
    getPastVotes: TypedContractMethod<[
        account: AddressLike,
        timepoint: BigNumberish
    ], [
        bigint
    ], 'view'>;
    getVotes: TypedContractMethod<[
        account: AddressLike
    ], [
        bigint
    ], 'view'>;
    lockRegistry: TypedContractMethod<[
    ], [
        void
    ], 'nonpayable'>;
    name: TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    nonces: TypedContractMethod<[
        owner: AddressLike
    ], [
        bigint
    ], 'view'>;
    numCheckpoints: TypedContractMethod<[
        account: AddressLike
    ], [
        bigint
    ], 'view'>;
    owner: TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    payableBalance: TypedContractMethod<[
    ], [
        bigint
    ], 'view'>;
    payout: TypedContractMethod<[
        to: AddressLike,
        amount: BigNumberish
    ], [
        void
    ], 'nonpayable'>;
    pendingOwner: TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    pendingRegistry: TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    pendingRegistryActivationTime: TypedContractMethod<[
    ], [
        bigint
    ], 'view'>;
    permit: TypedContractMethod<[
        arg0: AddressLike,
        arg1: AddressLike,
        arg2: BigNumberish,
        arg3: BigNumberish,
        arg4: BigNumberish,
        arg5: BytesLike,
        arg6: BytesLike
    ], [
        void
    ], 'view'>;
    registry: TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    registryLocked: TypedContractMethod<[
    ], [
        boolean
    ], 'view'>;
    renounceOwnership: TypedContractMethod<[
    ], [
        void
    ], 'view'>;
    requestRegistryChange: TypedContractMethod<[
        newRegistry: AddressLike
    ], [
        void
    ], 'nonpayable'>;
    rescueERC20: TypedContractMethod<[
        token: AddressLike,
        to: AddressLike,
        amount: BigNumberish
    ], [
        void
    ], 'nonpayable'>;
    setRegistry: TypedContractMethod<[
        newRegistry: AddressLike
    ], [
        void
    ], 'nonpayable'>;
    symbol: TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    totalSupply: TypedContractMethod<[
    ], [
        bigint
    ], 'view'>;
    transfer: TypedContractMethod<[
        to: AddressLike,
        value: BigNumberish
    ], [
        boolean
    ], 'nonpayable'>;
    transferFrom: TypedContractMethod<[
        from: AddressLike,
        to: AddressLike,
        value: BigNumberish
    ], [
        boolean
    ], 'nonpayable'>;
    transferOwnership: TypedContractMethod<[
        newOwner: AddressLike
    ], [
        void
    ], 'nonpayable'>;
    underlying: TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    withdrawTo: TypedContractMethod<[
        receiver: AddressLike,
        amount: BigNumberish
    ], [
        boolean
    ], 'nonpayable'>;
    getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
    getFunction(nameOrSignature: 'CLOCK_MODE'): TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    getFunction(nameOrSignature: 'DOMAIN_SEPARATOR'): TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    getFunction(nameOrSignature: 'REGISTRY_CHANGE_DELAY'): TypedContractMethod<[
    ], [
        bigint
    ], 'view'>;
    getFunction(nameOrSignature: 'acceptOwnership'): TypedContractMethod<[
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'activateRegistryChange'): TypedContractMethod<[
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'allowance'): TypedContractMethod<[
        owner: AddressLike,
        spender: AddressLike
    ], [
        bigint
    ], 'view'>;
    getFunction(nameOrSignature: 'approve'): TypedContractMethod<[
        arg0: AddressLike,
        arg1: BigNumberish
    ], [
        boolean
    ], 'view'>;
    getFunction(nameOrSignature: 'balanceOf'): TypedContractMethod<[
        account: AddressLike
    ], [
        bigint
    ], 'view'>;
    getFunction(nameOrSignature: 'burnTickets'): TypedContractMethod<[
        operator: AddressLike,
        amount: BigNumberish
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'cancelRegistryChange'): TypedContractMethod<[
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'checkpoints'): TypedContractMethod<[
        account: AddressLike,
        pos: BigNumberish
    ], [
        Checkpoints.Checkpoint208StructOutput
    ], 'view'>;
    getFunction(nameOrSignature: 'clock'): TypedContractMethod<[
    ], [
        bigint
    ], 'view'>;
    getFunction(nameOrSignature: 'decimals'): TypedContractMethod<[
    ], [
        bigint
    ], 'view'>;
    getFunction(nameOrSignature: 'delegate'): TypedContractMethod<[
        delegatee: AddressLike
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'delegateBySig'): TypedContractMethod<[
        arg0: AddressLike,
        arg1: BigNumberish,
        arg2: BigNumberish,
        arg3: BigNumberish,
        arg4: BytesLike,
        arg5: BytesLike
    ], [
        void
    ], 'view'>;
    getFunction(nameOrSignature: 'delegates'): TypedContractMethod<[
        account: AddressLike
    ], [
        string
    ], 'view'>;
    getFunction(nameOrSignature: 'depositFor'): TypedContractMethod<[
        operator: AddressLike,
        amount: BigNumberish
    ], [
        boolean
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'depositFrom'): TypedContractMethod<[
        from: AddressLike,
        to: AddressLike,
        amount: BigNumberish
    ], [
        boolean
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'eip712Domain'): TypedContractMethod<[
    ], [
        [string, string, string, bigint, string, string, bigint[]] & {
            fields: string;
            name: string;
            version: string;
            chainId: bigint;
            verifyingContract: string;
            salt: string;
            extensions: bigint[];
        }
    ], 'view'>;
    getFunction(nameOrSignature: 'getPastTotalSupply'): TypedContractMethod<[
        timepoint: BigNumberish
    ], [
        bigint
    ], 'view'>;
    getFunction(nameOrSignature: 'getPastVotes'): TypedContractMethod<[
        account: AddressLike,
        timepoint: BigNumberish
    ], [
        bigint
    ], 'view'>;
    getFunction(nameOrSignature: 'getVotes'): TypedContractMethod<[
        account: AddressLike
    ], [
        bigint
    ], 'view'>;
    getFunction(nameOrSignature: 'lockRegistry'): TypedContractMethod<[
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'name'): TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    getFunction(nameOrSignature: 'nonces'): TypedContractMethod<[
        owner: AddressLike
    ], [
        bigint
    ], 'view'>;
    getFunction(nameOrSignature: 'numCheckpoints'): TypedContractMethod<[
        account: AddressLike
    ], [
        bigint
    ], 'view'>;
    getFunction(nameOrSignature: 'owner'): TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    getFunction(nameOrSignature: 'payableBalance'): TypedContractMethod<[
    ], [
        bigint
    ], 'view'>;
    getFunction(nameOrSignature: 'payout'): TypedContractMethod<[
        to: AddressLike,
        amount: BigNumberish
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'pendingOwner'): TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    getFunction(nameOrSignature: 'pendingRegistry'): TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    getFunction(nameOrSignature: 'pendingRegistryActivationTime'): TypedContractMethod<[
    ], [
        bigint
    ], 'view'>;
    getFunction(nameOrSignature: 'permit'): TypedContractMethod<[
        arg0: AddressLike,
        arg1: AddressLike,
        arg2: BigNumberish,
        arg3: BigNumberish,
        arg4: BigNumberish,
        arg5: BytesLike,
        arg6: BytesLike
    ], [
        void
    ], 'view'>;
    getFunction(nameOrSignature: 'registry'): TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    getFunction(nameOrSignature: 'registryLocked'): TypedContractMethod<[
    ], [
        boolean
    ], 'view'>;
    getFunction(nameOrSignature: 'renounceOwnership'): TypedContractMethod<[
    ], [
        void
    ], 'view'>;
    getFunction(nameOrSignature: 'requestRegistryChange'): TypedContractMethod<[
        newRegistry: AddressLike
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'rescueERC20'): TypedContractMethod<[
        token: AddressLike,
        to: AddressLike,
        amount: BigNumberish
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'setRegistry'): TypedContractMethod<[
        newRegistry: AddressLike
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'symbol'): TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    getFunction(nameOrSignature: 'totalSupply'): TypedContractMethod<[
    ], [
        bigint
    ], 'view'>;
    getFunction(nameOrSignature: 'transfer'): TypedContractMethod<[
        to: AddressLike,
        value: BigNumberish
    ], [
        boolean
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'transferFrom'): TypedContractMethod<[
        from: AddressLike,
        to: AddressLike,
        value: BigNumberish
    ], [
        boolean
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'transferOwnership'): TypedContractMethod<[
        newOwner: AddressLike
    ], [
        void
    ], 'nonpayable'>;
    getFunction(nameOrSignature: 'underlying'): TypedContractMethod<[
    ], [
        string
    ], 'view'>;
    getFunction(nameOrSignature: 'withdrawTo'): TypedContractMethod<[
        receiver: AddressLike,
        amount: BigNumberish
    ], [
        boolean
    ], 'nonpayable'>;
    getEvent(key: 'Approval'): TypedContractEvent<ApprovalEvent.InputTuple, ApprovalEvent.OutputTuple, ApprovalEvent.OutputObject>;
    getEvent(key: 'DelegateChanged'): TypedContractEvent<DelegateChangedEvent.InputTuple, DelegateChangedEvent.OutputTuple, DelegateChangedEvent.OutputObject>;
    getEvent(key: 'DelegateVotesChanged'): TypedContractEvent<DelegateVotesChangedEvent.InputTuple, DelegateVotesChangedEvent.OutputTuple, DelegateVotesChangedEvent.OutputObject>;
    getEvent(key: 'EIP712DomainChanged'): TypedContractEvent<EIP712DomainChangedEvent.InputTuple, EIP712DomainChangedEvent.OutputTuple, EIP712DomainChangedEvent.OutputObject>;
    getEvent(key: 'ERC20Rescued'): TypedContractEvent<ERC20RescuedEvent.InputTuple, ERC20RescuedEvent.OutputTuple, ERC20RescuedEvent.OutputObject>;
    getEvent(key: 'OwnershipTransferStarted'): TypedContractEvent<OwnershipTransferStartedEvent.InputTuple, OwnershipTransferStartedEvent.OutputTuple, OwnershipTransferStartedEvent.OutputObject>;
    getEvent(key: 'OwnershipTransferred'): TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
    getEvent(key: 'Payout'): TypedContractEvent<PayoutEvent.InputTuple, PayoutEvent.OutputTuple, PayoutEvent.OutputObject>;
    getEvent(key: 'RegistryChangeCancelled'): TypedContractEvent<RegistryChangeCancelledEvent.InputTuple, RegistryChangeCancelledEvent.OutputTuple, RegistryChangeCancelledEvent.OutputObject>;
    getEvent(key: 'RegistryChangeRequested'): TypedContractEvent<RegistryChangeRequestedEvent.InputTuple, RegistryChangeRequestedEvent.OutputTuple, RegistryChangeRequestedEvent.OutputObject>;
    getEvent(key: 'RegistryChanged'): TypedContractEvent<RegistryChangedEvent.InputTuple, RegistryChangedEvent.OutputTuple, RegistryChangedEvent.OutputObject>;
    getEvent(key: 'RegistryLocked'): TypedContractEvent<RegistryLockedEvent.InputTuple, RegistryLockedEvent.OutputTuple, RegistryLockedEvent.OutputObject>;
    getEvent(key: 'Transfer'): TypedContractEvent<TransferEvent.InputTuple, TransferEvent.OutputTuple, TransferEvent.OutputObject>;
    filters: {
        'Approval(address,address,uint256)': TypedContractEvent<ApprovalEvent.InputTuple, ApprovalEvent.OutputTuple, ApprovalEvent.OutputObject>;
        Approval: TypedContractEvent<ApprovalEvent.InputTuple, ApprovalEvent.OutputTuple, ApprovalEvent.OutputObject>;
        'DelegateChanged(address,address,address)': TypedContractEvent<DelegateChangedEvent.InputTuple, DelegateChangedEvent.OutputTuple, DelegateChangedEvent.OutputObject>;
        DelegateChanged: TypedContractEvent<DelegateChangedEvent.InputTuple, DelegateChangedEvent.OutputTuple, DelegateChangedEvent.OutputObject>;
        'DelegateVotesChanged(address,uint256,uint256)': TypedContractEvent<DelegateVotesChangedEvent.InputTuple, DelegateVotesChangedEvent.OutputTuple, DelegateVotesChangedEvent.OutputObject>;
        DelegateVotesChanged: TypedContractEvent<DelegateVotesChangedEvent.InputTuple, DelegateVotesChangedEvent.OutputTuple, DelegateVotesChangedEvent.OutputObject>;
        'EIP712DomainChanged()': TypedContractEvent<EIP712DomainChangedEvent.InputTuple, EIP712DomainChangedEvent.OutputTuple, EIP712DomainChangedEvent.OutputObject>;
        EIP712DomainChanged: TypedContractEvent<EIP712DomainChangedEvent.InputTuple, EIP712DomainChangedEvent.OutputTuple, EIP712DomainChangedEvent.OutputObject>;
        'ERC20Rescued(address,address,uint256)': TypedContractEvent<ERC20RescuedEvent.InputTuple, ERC20RescuedEvent.OutputTuple, ERC20RescuedEvent.OutputObject>;
        ERC20Rescued: TypedContractEvent<ERC20RescuedEvent.InputTuple, ERC20RescuedEvent.OutputTuple, ERC20RescuedEvent.OutputObject>;
        'OwnershipTransferStarted(address,address)': TypedContractEvent<OwnershipTransferStartedEvent.InputTuple, OwnershipTransferStartedEvent.OutputTuple, OwnershipTransferStartedEvent.OutputObject>;
        OwnershipTransferStarted: TypedContractEvent<OwnershipTransferStartedEvent.InputTuple, OwnershipTransferStartedEvent.OutputTuple, OwnershipTransferStartedEvent.OutputObject>;
        'OwnershipTransferred(address,address)': TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
        OwnershipTransferred: TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
        'Payout(address,uint256)': TypedContractEvent<PayoutEvent.InputTuple, PayoutEvent.OutputTuple, PayoutEvent.OutputObject>;
        Payout: TypedContractEvent<PayoutEvent.InputTuple, PayoutEvent.OutputTuple, PayoutEvent.OutputObject>;
        'RegistryChangeCancelled(address)': TypedContractEvent<RegistryChangeCancelledEvent.InputTuple, RegistryChangeCancelledEvent.OutputTuple, RegistryChangeCancelledEvent.OutputObject>;
        RegistryChangeCancelled: TypedContractEvent<RegistryChangeCancelledEvent.InputTuple, RegistryChangeCancelledEvent.OutputTuple, RegistryChangeCancelledEvent.OutputObject>;
        'RegistryChangeRequested(address,uint64)': TypedContractEvent<RegistryChangeRequestedEvent.InputTuple, RegistryChangeRequestedEvent.OutputTuple, RegistryChangeRequestedEvent.OutputObject>;
        RegistryChangeRequested: TypedContractEvent<RegistryChangeRequestedEvent.InputTuple, RegistryChangeRequestedEvent.OutputTuple, RegistryChangeRequestedEvent.OutputObject>;
        'RegistryChanged(address,address)': TypedContractEvent<RegistryChangedEvent.InputTuple, RegistryChangedEvent.OutputTuple, RegistryChangedEvent.OutputObject>;
        RegistryChanged: TypedContractEvent<RegistryChangedEvent.InputTuple, RegistryChangedEvent.OutputTuple, RegistryChangedEvent.OutputObject>;
        'RegistryLocked()': TypedContractEvent<RegistryLockedEvent.InputTuple, RegistryLockedEvent.OutputTuple, RegistryLockedEvent.OutputObject>;
        RegistryLocked: TypedContractEvent<RegistryLockedEvent.InputTuple, RegistryLockedEvent.OutputTuple, RegistryLockedEvent.OutputObject>;
        'Transfer(address,address,uint256)': TypedContractEvent<TransferEvent.InputTuple, TransferEvent.OutputTuple, TransferEvent.OutputObject>;
        Transfer: TypedContractEvent<TransferEvent.InputTuple, TransferEvent.OutputTuple, TransferEvent.OutputObject>;
    };
}
//# sourceMappingURL=InterfoldTicketToken.d.ts.map