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 IAllowanceTransfer { type TokenSpenderPairStruct = { token: PromiseOrValue; spender: PromiseOrValue; }; type TokenSpenderPairStructOutput = [string, string] & { token: string; spender: string; }; type PermitDetailsStruct = { token: PromiseOrValue; amount: PromiseOrValue; expiration: PromiseOrValue; nonce: PromiseOrValue; }; type PermitDetailsStructOutput = [ string, BigNumber, number, number ] & { token: string; amount: BigNumber; expiration: number; nonce: number; }; type PermitBatchStruct = { details: IAllowanceTransfer.PermitDetailsStruct[]; spender: PromiseOrValue; sigDeadline: PromiseOrValue; }; type PermitBatchStructOutput = [ IAllowanceTransfer.PermitDetailsStructOutput[], string, BigNumber ] & { details: IAllowanceTransfer.PermitDetailsStructOutput[]; spender: string; sigDeadline: BigNumber; }; type PermitSingleStruct = { details: IAllowanceTransfer.PermitDetailsStruct; spender: PromiseOrValue; sigDeadline: PromiseOrValue; }; type PermitSingleStructOutput = [ IAllowanceTransfer.PermitDetailsStructOutput, string, BigNumber ] & { details: IAllowanceTransfer.PermitDetailsStructOutput; spender: string; sigDeadline: BigNumber; }; type AllowanceTransferDetailsStruct = { from: PromiseOrValue; to: PromiseOrValue; amount: PromiseOrValue; token: PromiseOrValue; }; type AllowanceTransferDetailsStructOutput = [ string, string, BigNumber, string ] & { from: string; to: string; amount: BigNumber; token: string; }; } export declare namespace ISignatureTransfer { type TokenPermissionsStruct = { token: PromiseOrValue; amount: PromiseOrValue; }; type TokenPermissionsStructOutput = [string, BigNumber] & { token: string; amount: BigNumber; }; type PermitTransferFromStruct = { permitted: ISignatureTransfer.TokenPermissionsStruct; nonce: PromiseOrValue; deadline: PromiseOrValue; }; type PermitTransferFromStructOutput = [ ISignatureTransfer.TokenPermissionsStructOutput, BigNumber, BigNumber ] & { permitted: ISignatureTransfer.TokenPermissionsStructOutput; nonce: BigNumber; deadline: BigNumber; }; type SignatureTransferDetailsStruct = { to: PromiseOrValue; requestedAmount: PromiseOrValue; }; type SignatureTransferDetailsStructOutput = [string, BigNumber] & { to: string; requestedAmount: BigNumber; }; type PermitBatchTransferFromStruct = { permitted: ISignatureTransfer.TokenPermissionsStruct[]; nonce: PromiseOrValue; deadline: PromiseOrValue; }; type PermitBatchTransferFromStructOutput = [ ISignatureTransfer.TokenPermissionsStructOutput[], BigNumber, BigNumber ] & { permitted: ISignatureTransfer.TokenPermissionsStructOutput[]; nonce: BigNumber; deadline: BigNumber; }; } export interface Permit2Interface extends utils.Interface { functions: { "DOMAIN_SEPARATOR()": FunctionFragment; "allowance(address,address,address)": FunctionFragment; "approve(address,address,uint160,uint48)": FunctionFragment; "invalidateNonces(address,address,uint48)": FunctionFragment; "invalidateUnorderedNonces(uint256,uint256)": FunctionFragment; "lockdown((address,address)[])": FunctionFragment; "nonceBitmap(address,uint256)": FunctionFragment; "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)": FunctionFragment; "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)": FunctionFragment; "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)": FunctionFragment; "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)": FunctionFragment; "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)": FunctionFragment; "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)": FunctionFragment; "transferFrom((address,address,uint160,address)[])": FunctionFragment; "transferFrom(address,address,uint160,address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "DOMAIN_SEPARATOR" | "allowance" | "approve" | "invalidateNonces" | "invalidateUnorderedNonces" | "lockdown" | "nonceBitmap" | "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)" | "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)" | "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)" | "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)" | "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)" | "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)" | "transferFrom((address,address,uint160,address)[])" | "transferFrom(address,address,uint160,address)"): FunctionFragment; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "approve", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "invalidateNonces", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "invalidateUnorderedNonces", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "lockdown", values: [IAllowanceTransfer.TokenSpenderPairStruct[]]): string; encodeFunctionData(functionFragment: "nonceBitmap", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)", values: [ PromiseOrValue, IAllowanceTransfer.PermitBatchStruct, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)", values: [ PromiseOrValue, IAllowanceTransfer.PermitSingleStruct, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)", values: [ ISignatureTransfer.PermitTransferFromStruct, ISignatureTransfer.SignatureTransferDetailsStruct, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)", values: [ ISignatureTransfer.PermitBatchTransferFromStruct, ISignatureTransfer.SignatureTransferDetailsStruct[], PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)", values: [ ISignatureTransfer.PermitTransferFromStruct, ISignatureTransfer.SignatureTransferDetailsStruct, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)", values: [ ISignatureTransfer.PermitBatchTransferFromStruct, ISignatureTransfer.SignatureTransferDetailsStruct[], PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "transferFrom((address,address,uint160,address)[])", values: [IAllowanceTransfer.AllowanceTransferDetailsStruct[]]): string; encodeFunctionData(functionFragment: "transferFrom(address,address,uint160,address)", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "invalidateNonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "invalidateUnorderedNonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockdown", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonceBitmap", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom((address,address,uint160,address)[])", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom(address,address,uint160,address)", data: BytesLike): Result; events: { "Approval(address,address,address,uint160,uint48)": EventFragment; "Lockdown(address,address,address)": EventFragment; "NonceInvalidation(address,address,address,uint48,uint48)": EventFragment; "Permit(address,address,address,uint160,uint48,uint48)": EventFragment; "UnorderedNonceInvalidation(address,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; getEvent(nameOrSignatureOrTopic: "Lockdown"): EventFragment; getEvent(nameOrSignatureOrTopic: "NonceInvalidation"): EventFragment; getEvent(nameOrSignatureOrTopic: "Permit"): EventFragment; getEvent(nameOrSignatureOrTopic: "UnorderedNonceInvalidation"): EventFragment; } export interface ApprovalEventObject { owner: string; token: string; spender: string; amount: BigNumber; expiration: number; } export type ApprovalEvent = TypedEvent<[ string, string, string, BigNumber, number ], ApprovalEventObject>; export type ApprovalEventFilter = TypedEventFilter; export interface LockdownEventObject { owner: string; token: string; spender: string; } export type LockdownEvent = TypedEvent<[ string, string, string ], LockdownEventObject>; export type LockdownEventFilter = TypedEventFilter; export interface NonceInvalidationEventObject { owner: string; token: string; spender: string; newNonce: number; oldNonce: number; } export type NonceInvalidationEvent = TypedEvent<[ string, string, string, number, number ], NonceInvalidationEventObject>; export type NonceInvalidationEventFilter = TypedEventFilter; export interface PermitEventObject { owner: string; token: string; spender: string; amount: BigNumber; expiration: number; nonce: number; } export type PermitEvent = TypedEvent<[ string, string, string, BigNumber, number, number ], PermitEventObject>; export type PermitEventFilter = TypedEventFilter; export interface UnorderedNonceInvalidationEventObject { owner: string; word: BigNumber; mask: BigNumber; } export type UnorderedNonceInvalidationEvent = TypedEvent<[ string, BigNumber, BigNumber ], UnorderedNonceInvalidationEventObject>; export type UnorderedNonceInvalidationEventFilter = TypedEventFilter; export interface Permit2 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: Permit2Interface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>; allowance(arg0: PromiseOrValue, arg1: PromiseOrValue, arg2: PromiseOrValue, overrides?: CallOverrides): Promise<[ BigNumber, number, number ] & { amount: BigNumber; expiration: number; nonce: number; }>; approve(token: PromiseOrValue, spender: PromiseOrValue, amount: PromiseOrValue, expiration: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; invalidateNonces(token: PromiseOrValue, spender: PromiseOrValue, newNonce: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; invalidateUnorderedNonces(wordPos: PromiseOrValue, mask: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; lockdown(approvals: IAllowanceTransfer.TokenSpenderPairStruct[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; nonceBitmap(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)"(owner: PromiseOrValue, permitBatch: IAllowanceTransfer.PermitBatchStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)"(owner: PromiseOrValue, permitSingle: IAllowanceTransfer.PermitSingleStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)"(permit: ISignatureTransfer.PermitTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct, owner: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)"(permit: ISignatureTransfer.PermitBatchTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[], owner: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)"(permit: ISignatureTransfer.PermitTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct, owner: PromiseOrValue, witness: PromiseOrValue, witnessTypeString: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)"(permit: ISignatureTransfer.PermitBatchTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[], owner: PromiseOrValue, witness: PromiseOrValue, witnessTypeString: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "transferFrom((address,address,uint160,address)[])"(transferDetails: IAllowanceTransfer.AllowanceTransferDetailsStruct[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "transferFrom(address,address,uint160,address)"(from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, token: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; allowance(arg0: PromiseOrValue, arg1: PromiseOrValue, arg2: PromiseOrValue, overrides?: CallOverrides): Promise<[ BigNumber, number, number ] & { amount: BigNumber; expiration: number; nonce: number; }>; approve(token: PromiseOrValue, spender: PromiseOrValue, amount: PromiseOrValue, expiration: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; invalidateNonces(token: PromiseOrValue, spender: PromiseOrValue, newNonce: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; invalidateUnorderedNonces(wordPos: PromiseOrValue, mask: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; lockdown(approvals: IAllowanceTransfer.TokenSpenderPairStruct[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; nonceBitmap(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)"(owner: PromiseOrValue, permitBatch: IAllowanceTransfer.PermitBatchStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)"(owner: PromiseOrValue, permitSingle: IAllowanceTransfer.PermitSingleStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)"(permit: ISignatureTransfer.PermitTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct, owner: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)"(permit: ISignatureTransfer.PermitBatchTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[], owner: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)"(permit: ISignatureTransfer.PermitTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct, owner: PromiseOrValue, witness: PromiseOrValue, witnessTypeString: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)"(permit: ISignatureTransfer.PermitBatchTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[], owner: PromiseOrValue, witness: PromiseOrValue, witnessTypeString: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "transferFrom((address,address,uint160,address)[])"(transferDetails: IAllowanceTransfer.AllowanceTransferDetailsStruct[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "transferFrom(address,address,uint160,address)"(from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, token: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; allowance(arg0: PromiseOrValue, arg1: PromiseOrValue, arg2: PromiseOrValue, overrides?: CallOverrides): Promise<[ BigNumber, number, number ] & { amount: BigNumber; expiration: number; nonce: number; }>; approve(token: PromiseOrValue, spender: PromiseOrValue, amount: PromiseOrValue, expiration: PromiseOrValue, overrides?: CallOverrides): Promise; invalidateNonces(token: PromiseOrValue, spender: PromiseOrValue, newNonce: PromiseOrValue, overrides?: CallOverrides): Promise; invalidateUnorderedNonces(wordPos: PromiseOrValue, mask: PromiseOrValue, overrides?: CallOverrides): Promise; lockdown(approvals: IAllowanceTransfer.TokenSpenderPairStruct[], overrides?: CallOverrides): Promise; nonceBitmap(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)"(owner: PromiseOrValue, permitBatch: IAllowanceTransfer.PermitBatchStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise; "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)"(owner: PromiseOrValue, permitSingle: IAllowanceTransfer.PermitSingleStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise; "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)"(permit: ISignatureTransfer.PermitTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct, owner: PromiseOrValue, signature: PromiseOrValue, overrides?: CallOverrides): Promise; "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)"(permit: ISignatureTransfer.PermitBatchTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[], owner: PromiseOrValue, signature: PromiseOrValue, overrides?: CallOverrides): Promise; "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)"(permit: ISignatureTransfer.PermitTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct, owner: PromiseOrValue, witness: PromiseOrValue, witnessTypeString: PromiseOrValue, signature: PromiseOrValue, overrides?: CallOverrides): Promise; "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)"(permit: ISignatureTransfer.PermitBatchTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[], owner: PromiseOrValue, witness: PromiseOrValue, witnessTypeString: PromiseOrValue, signature: PromiseOrValue, overrides?: CallOverrides): Promise; "transferFrom((address,address,uint160,address)[])"(transferDetails: IAllowanceTransfer.AllowanceTransferDetailsStruct[], overrides?: CallOverrides): Promise; "transferFrom(address,address,uint160,address)"(from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, token: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: { "Approval(address,address,address,uint160,uint48)"(owner?: PromiseOrValue | null, token?: PromiseOrValue | null, spender?: PromiseOrValue | null, amount?: null, expiration?: null): ApprovalEventFilter; Approval(owner?: PromiseOrValue | null, token?: PromiseOrValue | null, spender?: PromiseOrValue | null, amount?: null, expiration?: null): ApprovalEventFilter; "Lockdown(address,address,address)"(owner?: PromiseOrValue | null, token?: null, spender?: null): LockdownEventFilter; Lockdown(owner?: PromiseOrValue | null, token?: null, spender?: null): LockdownEventFilter; "NonceInvalidation(address,address,address,uint48,uint48)"(owner?: PromiseOrValue | null, token?: PromiseOrValue | null, spender?: PromiseOrValue | null, newNonce?: null, oldNonce?: null): NonceInvalidationEventFilter; NonceInvalidation(owner?: PromiseOrValue | null, token?: PromiseOrValue | null, spender?: PromiseOrValue | null, newNonce?: null, oldNonce?: null): NonceInvalidationEventFilter; "Permit(address,address,address,uint160,uint48,uint48)"(owner?: PromiseOrValue | null, token?: PromiseOrValue | null, spender?: PromiseOrValue | null, amount?: null, expiration?: null, nonce?: null): PermitEventFilter; Permit(owner?: PromiseOrValue | null, token?: PromiseOrValue | null, spender?: PromiseOrValue | null, amount?: null, expiration?: null, nonce?: null): PermitEventFilter; "UnorderedNonceInvalidation(address,uint256,uint256)"(owner?: PromiseOrValue | null, word?: null, mask?: null): UnorderedNonceInvalidationEventFilter; UnorderedNonceInvalidation(owner?: PromiseOrValue | null, word?: null, mask?: null): UnorderedNonceInvalidationEventFilter; }; estimateGas: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; allowance(arg0: PromiseOrValue, arg1: PromiseOrValue, arg2: PromiseOrValue, overrides?: CallOverrides): Promise; approve(token: PromiseOrValue, spender: PromiseOrValue, amount: PromiseOrValue, expiration: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; invalidateNonces(token: PromiseOrValue, spender: PromiseOrValue, newNonce: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; invalidateUnorderedNonces(wordPos: PromiseOrValue, mask: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; lockdown(approvals: IAllowanceTransfer.TokenSpenderPairStruct[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; nonceBitmap(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)"(owner: PromiseOrValue, permitBatch: IAllowanceTransfer.PermitBatchStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)"(owner: PromiseOrValue, permitSingle: IAllowanceTransfer.PermitSingleStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)"(permit: ISignatureTransfer.PermitTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct, owner: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)"(permit: ISignatureTransfer.PermitBatchTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[], owner: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)"(permit: ISignatureTransfer.PermitTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct, owner: PromiseOrValue, witness: PromiseOrValue, witnessTypeString: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)"(permit: ISignatureTransfer.PermitBatchTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[], owner: PromiseOrValue, witness: PromiseOrValue, witnessTypeString: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "transferFrom((address,address,uint160,address)[])"(transferDetails: IAllowanceTransfer.AllowanceTransferDetailsStruct[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "transferFrom(address,address,uint160,address)"(from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, token: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; allowance(arg0: PromiseOrValue, arg1: PromiseOrValue, arg2: PromiseOrValue, overrides?: CallOverrides): Promise; approve(token: PromiseOrValue, spender: PromiseOrValue, amount: PromiseOrValue, expiration: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; invalidateNonces(token: PromiseOrValue, spender: PromiseOrValue, newNonce: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; invalidateUnorderedNonces(wordPos: PromiseOrValue, mask: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; lockdown(approvals: IAllowanceTransfer.TokenSpenderPairStruct[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; nonceBitmap(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)"(owner: PromiseOrValue, permitBatch: IAllowanceTransfer.PermitBatchStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)"(owner: PromiseOrValue, permitSingle: IAllowanceTransfer.PermitSingleStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes)"(permit: ISignatureTransfer.PermitTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct, owner: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes)"(permit: ISignatureTransfer.PermitBatchTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[], owner: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitWitnessTransferFrom(((address,uint256),uint256,uint256),(address,uint256),address,bytes32,string,bytes)"(permit: ISignatureTransfer.PermitTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct, owner: PromiseOrValue, witness: PromiseOrValue, witnessTypeString: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)"(permit: ISignatureTransfer.PermitBatchTransferFromStruct, transferDetails: ISignatureTransfer.SignatureTransferDetailsStruct[], owner: PromiseOrValue, witness: PromiseOrValue, witnessTypeString: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "transferFrom((address,address,uint160,address)[])"(transferDetails: IAllowanceTransfer.AllowanceTransferDetailsStruct[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; "transferFrom(address,address,uint160,address)"(from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, token: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; }