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 IDCAPermissionManager {
    type PermissionSetStruct = {
        operator: PromiseOrValue<string>;
        permissions: PromiseOrValue<BigNumberish>[];
    };
    type PermissionSetStructOutput = [string, number[]] & {
        operator: string;
        permissions: number[];
    };
    type PositionPermissionsStruct = {
        tokenId: PromiseOrValue<BigNumberish>;
        permissionSets: IDCAPermissionManager.PermissionSetStruct[];
    };
    type PositionPermissionsStructOutput = [
        BigNumber,
        IDCAPermissionManager.PermissionSetStructOutput[]
    ] & {
        tokenId: BigNumber;
        permissionSets: IDCAPermissionManager.PermissionSetStructOutput[];
    };
}
export interface DCAPermissionsManagerInterface extends utils.Interface {
    functions: {
        "DOMAIN_SEPARATOR()": FunctionFragment;
        "MULTI_PERMISSION_PERMIT_TYPEHASH()": FunctionFragment;
        "PERMISSION_PERMIT_TYPEHASH()": FunctionFragment;
        "PERMISSION_SET_TYPEHASH()": FunctionFragment;
        "PERMIT_TYPEHASH()": FunctionFragment;
        "POSITION_PERMISSIONS_TYPEHASH()": FunctionFragment;
        "acceptPendingGovernor()": FunctionFragment;
        "approve(address,uint256)": FunctionFragment;
        "balanceOf(address)": FunctionFragment;
        "burn(uint256)": FunctionFragment;
        "getApproved(uint256)": FunctionFragment;
        "governor()": FunctionFragment;
        "hasPermission(uint256,address,uint8)": FunctionFragment;
        "hasPermissions(uint256,address,uint8[])": FunctionFragment;
        "hub()": FunctionFragment;
        "isApprovedForAll(address,address)": FunctionFragment;
        "isGovernor(address)": FunctionFragment;
        "isPendingGovernor(address)": FunctionFragment;
        "lastOwnershipChange(uint256)": FunctionFragment;
        "mint(uint256,address,(address,uint8[])[])": FunctionFragment;
        "modify(uint256,(address,uint8[])[])": FunctionFragment;
        "modifyMany((uint256,(address,uint8[])[])[])": FunctionFragment;
        "multiPermissionPermit((uint256,(address,uint8[])[])[],uint256,uint8,bytes32,bytes32)": FunctionFragment;
        "name()": FunctionFragment;
        "nftDescriptor()": FunctionFragment;
        "nonces(address)": FunctionFragment;
        "ownerOf(uint256)": FunctionFragment;
        "pendingGovernor()": FunctionFragment;
        "permissionPermit((address,uint8[])[],uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment;
        "permit(address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment;
        "safeTransferFrom(address,address,uint256)": FunctionFragment;
        "safeTransferFrom(address,address,uint256,bytes)": FunctionFragment;
        "setApprovalForAll(address,bool)": FunctionFragment;
        "setHub(address)": FunctionFragment;
        "setNFTDescriptor(address)": FunctionFragment;
        "setPendingGovernor(address)": FunctionFragment;
        "supportsInterface(bytes4)": FunctionFragment;
        "symbol()": FunctionFragment;
        "tokenPermissions(uint256,address)": FunctionFragment;
        "tokenURI(uint256)": FunctionFragment;
        "totalSupply()": FunctionFragment;
        "transferFrom(address,address,uint256)": FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: "DOMAIN_SEPARATOR" | "MULTI_PERMISSION_PERMIT_TYPEHASH" | "PERMISSION_PERMIT_TYPEHASH" | "PERMISSION_SET_TYPEHASH" | "PERMIT_TYPEHASH" | "POSITION_PERMISSIONS_TYPEHASH" | "acceptPendingGovernor" | "approve" | "balanceOf" | "burn" | "getApproved" | "governor" | "hasPermission" | "hasPermissions" | "hub" | "isApprovedForAll" | "isGovernor" | "isPendingGovernor" | "lastOwnershipChange" | "mint" | "modify" | "modifyMany" | "multiPermissionPermit" | "name" | "nftDescriptor" | "nonces" | "ownerOf" | "pendingGovernor" | "permissionPermit" | "permit" | "safeTransferFrom(address,address,uint256)" | "safeTransferFrom(address,address,uint256,bytes)" | "setApprovalForAll" | "setHub" | "setNFTDescriptor" | "setPendingGovernor" | "supportsInterface" | "symbol" | "tokenPermissions" | "tokenURI" | "totalSupply" | "transferFrom"): FunctionFragment;
    encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string;
    encodeFunctionData(functionFragment: "MULTI_PERMISSION_PERMIT_TYPEHASH", values?: undefined): string;
    encodeFunctionData(functionFragment: "PERMISSION_PERMIT_TYPEHASH", values?: undefined): string;
    encodeFunctionData(functionFragment: "PERMISSION_SET_TYPEHASH", values?: undefined): string;
    encodeFunctionData(functionFragment: "PERMIT_TYPEHASH", values?: undefined): string;
    encodeFunctionData(functionFragment: "POSITION_PERMISSIONS_TYPEHASH", values?: undefined): string;
    encodeFunctionData(functionFragment: "acceptPendingGovernor", values?: undefined): string;
    encodeFunctionData(functionFragment: "approve", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "balanceOf", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "burn", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "getApproved", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "governor", values?: undefined): string;
    encodeFunctionData(functionFragment: "hasPermission", values: [
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: "hasPermissions", values: [
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>[]
    ]): string;
    encodeFunctionData(functionFragment: "hub", values?: undefined): string;
    encodeFunctionData(functionFragment: "isApprovedForAll", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "isGovernor", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "isPendingGovernor", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "lastOwnershipChange", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "mint", values: [
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<string>,
        IDCAPermissionManager.PermissionSetStruct[]
    ]): string;
    encodeFunctionData(functionFragment: "modify", values: [
        PromiseOrValue<BigNumberish>,
        IDCAPermissionManager.PermissionSetStruct[]
    ]): string;
    encodeFunctionData(functionFragment: "modifyMany", values: [IDCAPermissionManager.PositionPermissionsStruct[]]): string;
    encodeFunctionData(functionFragment: "multiPermissionPermit", values: [
        IDCAPermissionManager.PositionPermissionsStruct[],
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>
    ]): string;
    encodeFunctionData(functionFragment: "name", values?: undefined): string;
    encodeFunctionData(functionFragment: "nftDescriptor", values?: undefined): string;
    encodeFunctionData(functionFragment: "nonces", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "ownerOf", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "pendingGovernor", values?: undefined): string;
    encodeFunctionData(functionFragment: "permissionPermit", values: [
        IDCAPermissionManager.PermissionSetStruct[],
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>
    ]): string;
    encodeFunctionData(functionFragment: "permit", values: [
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>,
        PromiseOrValue<BytesLike>
    ]): string;
    encodeFunctionData(functionFragment: "safeTransferFrom(address,address,uint256)", values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: "safeTransferFrom(address,address,uint256,bytes)", values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BytesLike>
    ]): string;
    encodeFunctionData(functionFragment: "setApprovalForAll", values: [PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: "setHub", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "setNFTDescriptor", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "setPendingGovernor", values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "supportsInterface", values: [PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
    encodeFunctionData(functionFragment: "tokenPermissions", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: "tokenURI", values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string;
    encodeFunctionData(functionFragment: "transferFrom", values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>
    ]): string;
    decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "MULTI_PERMISSION_PERMIT_TYPEHASH", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "PERMISSION_PERMIT_TYPEHASH", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "PERMISSION_SET_TYPEHASH", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "PERMIT_TYPEHASH", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "POSITION_PERMISSIONS_TYPEHASH", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "acceptPendingGovernor", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getApproved", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "governor", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hasPermission", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hasPermissions", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hub", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isApprovedForAll", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isGovernor", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isPendingGovernor", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "lastOwnershipChange", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "modify", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "modifyMany", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "multiPermissionPermit", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "nftDescriptor", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "ownerOf", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "pendingGovernor", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "permissionPermit", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "safeTransferFrom(address,address,uint256)", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "safeTransferFrom(address,address,uint256,bytes)", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setApprovalForAll", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setHub", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setNFTDescriptor", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setPendingGovernor", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "tokenPermissions", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "tokenURI", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result;
    events: {
        "Approval(address,address,uint256)": EventFragment;
        "ApprovalForAll(address,address,bool)": EventFragment;
        "Modified(uint256,tuple[])": EventFragment;
        "NFTDescriptorSet(address)": EventFragment;
        "PendingGovernorAccepted()": EventFragment;
        "PendingGovernorSet(address)": EventFragment;
        "Transfer(address,address,uint256)": EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "ApprovalForAll"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "Modified"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "NFTDescriptorSet"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "PendingGovernorAccepted"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "PendingGovernorSet"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment;
}
export interface ApprovalEventObject {
    owner: string;
    approved: string;
    tokenId: BigNumber;
}
export declare type ApprovalEvent = TypedEvent<[
    string,
    string,
    BigNumber
], ApprovalEventObject>;
export declare type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>;
export interface ApprovalForAllEventObject {
    owner: string;
    operator: string;
    approved: boolean;
}
export declare type ApprovalForAllEvent = TypedEvent<[
    string,
    string,
    boolean
], ApprovalForAllEventObject>;
export declare type ApprovalForAllEventFilter = TypedEventFilter<ApprovalForAllEvent>;
export interface ModifiedEventObject {
    tokenId: BigNumber;
    permissions: IDCAPermissionManager.PermissionSetStructOutput[];
}
export declare type ModifiedEvent = TypedEvent<[
    BigNumber,
    IDCAPermissionManager.PermissionSetStructOutput[]
], ModifiedEventObject>;
export declare type ModifiedEventFilter = TypedEventFilter<ModifiedEvent>;
export interface NFTDescriptorSetEventObject {
    descriptor: string;
}
export declare type NFTDescriptorSetEvent = TypedEvent<[
    string
], NFTDescriptorSetEventObject>;
export declare type NFTDescriptorSetEventFilter = TypedEventFilter<NFTDescriptorSetEvent>;
export interface PendingGovernorAcceptedEventObject {
}
export declare type PendingGovernorAcceptedEvent = TypedEvent<[
], PendingGovernorAcceptedEventObject>;
export declare type PendingGovernorAcceptedEventFilter = TypedEventFilter<PendingGovernorAcceptedEvent>;
export interface PendingGovernorSetEventObject {
    pendingGovernor: string;
}
export declare type PendingGovernorSetEvent = TypedEvent<[
    string
], PendingGovernorSetEventObject>;
export declare type PendingGovernorSetEventFilter = TypedEventFilter<PendingGovernorSetEvent>;
export interface TransferEventObject {
    from: string;
    to: string;
    tokenId: BigNumber;
}
export declare type TransferEvent = TypedEvent<[
    string,
    string,
    BigNumber
], TransferEventObject>;
export declare type TransferEventFilter = TypedEventFilter<TransferEvent>;
export interface DCAPermissionsManager extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: DCAPermissionsManagerInterface;
    queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
    listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
    listeners(eventName?: string): Array<Listener>;
    removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
    removeAllListeners(eventName?: string): this;
    off: OnEvent<this>;
    on: OnEvent<this>;
    once: OnEvent<this>;
    removeListener: OnEvent<this>;
    functions: {
        DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>;
        MULTI_PERMISSION_PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>;
        PERMISSION_PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>;
        PERMISSION_SET_TYPEHASH(overrides?: CallOverrides): Promise<[string]>;
        PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>;
        POSITION_PERMISSIONS_TYPEHASH(overrides?: CallOverrides): Promise<[string]>;
        acceptPendingGovernor(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        burn(_id: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        getApproved(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        governor(overrides?: CallOverrides): Promise<[string]>;
        hasPermission(_id: PromiseOrValue<BigNumberish>, _address: PromiseOrValue<string>, _permission: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
        hasPermissions(_id: PromiseOrValue<BigNumberish>, _address: PromiseOrValue<string>, _permissions: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<[boolean[]] & {
            _hasPermissions: boolean[];
        }>;
        hub(overrides?: CallOverrides): Promise<[string]>;
        isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        isGovernor(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean] & {
            _isGovernor: boolean;
        }>;
        isPendingGovernor(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean] & {
            _isPendingGovernor: boolean;
        }>;
        lastOwnershipChange(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        mint(_id: PromiseOrValue<BigNumberish>, _owner: PromiseOrValue<string>, _permissions: IDCAPermissionManager.PermissionSetStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        modify(_id: PromiseOrValue<BigNumberish>, _permissions: IDCAPermissionManager.PermissionSetStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        modifyMany(_permissions: IDCAPermissionManager.PositionPermissionsStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        multiPermissionPermit(_permissions: IDCAPermissionManager.PositionPermissionsStruct[], _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        name(overrides?: CallOverrides): Promise<[string]>;
        nftDescriptor(overrides?: CallOverrides): Promise<[string]>;
        nonces(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        pendingGovernor(overrides?: CallOverrides): Promise<[string]>;
        permissionPermit(_permissions: IDCAPermissionManager.PermissionSetStruct[], _tokenId: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        permit(_spender: PromiseOrValue<string>, _tokenId: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        "safeTransferFrom(address,address,uint256)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        "safeTransferFrom(address,address,uint256,bytes)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setApprovalForAll(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setHub(_hub: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setNFTDescriptor(_descriptor: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setPendingGovernor(__pendingGovernor: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>;
        symbol(overrides?: CallOverrides): Promise<[string]>;
        tokenPermissions(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            number,
            BigNumber
        ] & {
            permissions: number;
            lastUpdated: BigNumber;
        }>;
        tokenURI(_tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
    };
    DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<string>;
    MULTI_PERMISSION_PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<string>;
    PERMISSION_PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<string>;
    PERMISSION_SET_TYPEHASH(overrides?: CallOverrides): Promise<string>;
    PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<string>;
    POSITION_PERMISSIONS_TYPEHASH(overrides?: CallOverrides): Promise<string>;
    acceptPendingGovernor(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    burn(_id: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    getApproved(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    governor(overrides?: CallOverrides): Promise<string>;
    hasPermission(_id: PromiseOrValue<BigNumberish>, _address: PromiseOrValue<string>, _permission: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
    hasPermissions(_id: PromiseOrValue<BigNumberish>, _address: PromiseOrValue<string>, _permissions: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<boolean[]>;
    hub(overrides?: CallOverrides): Promise<string>;
    isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    isGovernor(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    isPendingGovernor(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    lastOwnershipChange(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    mint(_id: PromiseOrValue<BigNumberish>, _owner: PromiseOrValue<string>, _permissions: IDCAPermissionManager.PermissionSetStruct[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    modify(_id: PromiseOrValue<BigNumberish>, _permissions: IDCAPermissionManager.PermissionSetStruct[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    modifyMany(_permissions: IDCAPermissionManager.PositionPermissionsStruct[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    multiPermissionPermit(_permissions: IDCAPermissionManager.PositionPermissionsStruct[], _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    name(overrides?: CallOverrides): Promise<string>;
    nftDescriptor(overrides?: CallOverrides): Promise<string>;
    nonces(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    pendingGovernor(overrides?: CallOverrides): Promise<string>;
    permissionPermit(_permissions: IDCAPermissionManager.PermissionSetStruct[], _tokenId: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    permit(_spender: PromiseOrValue<string>, _tokenId: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    "safeTransferFrom(address,address,uint256)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    "safeTransferFrom(address,address,uint256,bytes)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setApprovalForAll(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setHub(_hub: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setNFTDescriptor(_descriptor: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setPendingGovernor(__pendingGovernor: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
    symbol(overrides?: CallOverrides): Promise<string>;
    tokenPermissions(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
        number,
        BigNumber
    ] & {
        permissions: number;
        lastUpdated: BigNumber;
    }>;
    tokenURI(_tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
    transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    callStatic: {
        DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<string>;
        MULTI_PERMISSION_PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<string>;
        PERMISSION_PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<string>;
        PERMISSION_SET_TYPEHASH(overrides?: CallOverrides): Promise<string>;
        PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<string>;
        POSITION_PERMISSIONS_TYPEHASH(overrides?: CallOverrides): Promise<string>;
        acceptPendingGovernor(overrides?: CallOverrides): Promise<void>;
        approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        burn(_id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        getApproved(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        governor(overrides?: CallOverrides): Promise<string>;
        hasPermission(_id: PromiseOrValue<BigNumberish>, _address: PromiseOrValue<string>, _permission: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        hasPermissions(_id: PromiseOrValue<BigNumberish>, _address: PromiseOrValue<string>, _permissions: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<boolean[]>;
        hub(overrides?: CallOverrides): Promise<string>;
        isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        isGovernor(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        isPendingGovernor(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        lastOwnershipChange(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        mint(_id: PromiseOrValue<BigNumberish>, _owner: PromiseOrValue<string>, _permissions: IDCAPermissionManager.PermissionSetStruct[], overrides?: CallOverrides): Promise<void>;
        modify(_id: PromiseOrValue<BigNumberish>, _permissions: IDCAPermissionManager.PermissionSetStruct[], overrides?: CallOverrides): Promise<void>;
        modifyMany(_permissions: IDCAPermissionManager.PositionPermissionsStruct[], overrides?: CallOverrides): Promise<void>;
        multiPermissionPermit(_permissions: IDCAPermissionManager.PositionPermissionsStruct[], _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        name(overrides?: CallOverrides): Promise<string>;
        nftDescriptor(overrides?: CallOverrides): Promise<string>;
        nonces(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        pendingGovernor(overrides?: CallOverrides): Promise<string>;
        permissionPermit(_permissions: IDCAPermissionManager.PermissionSetStruct[], _tokenId: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        permit(_spender: PromiseOrValue<string>, _tokenId: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        "safeTransferFrom(address,address,uint256)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        "safeTransferFrom(address,address,uint256,bytes)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        setApprovalForAll(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        setHub(_hub: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setNFTDescriptor(_descriptor: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setPendingGovernor(__pendingGovernor: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
        symbol(overrides?: CallOverrides): Promise<string>;
        tokenPermissions(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            number,
            BigNumber
        ] & {
            permissions: number;
            lastUpdated: BigNumber;
        }>;
        tokenURI(_tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
    };
    filters: {
        "Approval(address,address,uint256)"(owner?: PromiseOrValue<string> | null, approved?: PromiseOrValue<string> | null, tokenId?: PromiseOrValue<BigNumberish> | null): ApprovalEventFilter;
        Approval(owner?: PromiseOrValue<string> | null, approved?: PromiseOrValue<string> | null, tokenId?: PromiseOrValue<BigNumberish> | null): ApprovalEventFilter;
        "ApprovalForAll(address,address,bool)"(owner?: PromiseOrValue<string> | null, operator?: PromiseOrValue<string> | null, approved?: null): ApprovalForAllEventFilter;
        ApprovalForAll(owner?: PromiseOrValue<string> | null, operator?: PromiseOrValue<string> | null, approved?: null): ApprovalForAllEventFilter;
        "Modified(uint256,tuple[])"(tokenId?: null, permissions?: null): ModifiedEventFilter;
        Modified(tokenId?: null, permissions?: null): ModifiedEventFilter;
        "NFTDescriptorSet(address)"(descriptor?: null): NFTDescriptorSetEventFilter;
        NFTDescriptorSet(descriptor?: null): NFTDescriptorSetEventFilter;
        "PendingGovernorAccepted()"(): PendingGovernorAcceptedEventFilter;
        PendingGovernorAccepted(): PendingGovernorAcceptedEventFilter;
        "PendingGovernorSet(address)"(pendingGovernor?: null): PendingGovernorSetEventFilter;
        PendingGovernorSet(pendingGovernor?: null): PendingGovernorSetEventFilter;
        "Transfer(address,address,uint256)"(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, tokenId?: PromiseOrValue<BigNumberish> | null): TransferEventFilter;
        Transfer(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, tokenId?: PromiseOrValue<BigNumberish> | null): TransferEventFilter;
    };
    estimateGas: {
        DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<BigNumber>;
        MULTI_PERMISSION_PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<BigNumber>;
        PERMISSION_PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<BigNumber>;
        PERMISSION_SET_TYPEHASH(overrides?: CallOverrides): Promise<BigNumber>;
        PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<BigNumber>;
        POSITION_PERMISSIONS_TYPEHASH(overrides?: CallOverrides): Promise<BigNumber>;
        acceptPendingGovernor(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        burn(_id: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        getApproved(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        governor(overrides?: CallOverrides): Promise<BigNumber>;
        hasPermission(_id: PromiseOrValue<BigNumberish>, _address: PromiseOrValue<string>, _permission: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        hasPermissions(_id: PromiseOrValue<BigNumberish>, _address: PromiseOrValue<string>, _permissions: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber>;
        hub(overrides?: CallOverrides): Promise<BigNumber>;
        isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        isGovernor(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        isPendingGovernor(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        lastOwnershipChange(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        mint(_id: PromiseOrValue<BigNumberish>, _owner: PromiseOrValue<string>, _permissions: IDCAPermissionManager.PermissionSetStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        modify(_id: PromiseOrValue<BigNumberish>, _permissions: IDCAPermissionManager.PermissionSetStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        modifyMany(_permissions: IDCAPermissionManager.PositionPermissionsStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        multiPermissionPermit(_permissions: IDCAPermissionManager.PositionPermissionsStruct[], _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        name(overrides?: CallOverrides): Promise<BigNumber>;
        nftDescriptor(overrides?: CallOverrides): Promise<BigNumber>;
        nonces(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        pendingGovernor(overrides?: CallOverrides): Promise<BigNumber>;
        permissionPermit(_permissions: IDCAPermissionManager.PermissionSetStruct[], _tokenId: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        permit(_spender: PromiseOrValue<string>, _tokenId: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        "safeTransferFrom(address,address,uint256)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        "safeTransferFrom(address,address,uint256,bytes)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setApprovalForAll(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setHub(_hub: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setNFTDescriptor(_descriptor: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setPendingGovernor(__pendingGovernor: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
        symbol(overrides?: CallOverrides): Promise<BigNumber>;
        tokenPermissions(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        tokenURI(_tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        MULTI_PERMISSION_PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        PERMISSION_PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        PERMISSION_SET_TYPEHASH(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        POSITION_PERMISSIONS_TYPEHASH(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        acceptPendingGovernor(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        burn(_id: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        getApproved(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        governor(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        hasPermission(_id: PromiseOrValue<BigNumberish>, _address: PromiseOrValue<string>, _permission: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        hasPermissions(_id: PromiseOrValue<BigNumberish>, _address: PromiseOrValue<string>, _permissions: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
        hub(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isGovernor(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isPendingGovernor(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lastOwnershipChange(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        mint(_id: PromiseOrValue<BigNumberish>, _owner: PromiseOrValue<string>, _permissions: IDCAPermissionManager.PermissionSetStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        modify(_id: PromiseOrValue<BigNumberish>, _permissions: IDCAPermissionManager.PermissionSetStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        modifyMany(_permissions: IDCAPermissionManager.PositionPermissionsStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        multiPermissionPermit(_permissions: IDCAPermissionManager.PositionPermissionsStruct[], _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        nftDescriptor(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        nonces(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pendingGovernor(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        permissionPermit(_permissions: IDCAPermissionManager.PermissionSetStruct[], _tokenId: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        permit(_spender: PromiseOrValue<string>, _tokenId: PromiseOrValue<BigNumberish>, _deadline: PromiseOrValue<BigNumberish>, _v: PromiseOrValue<BigNumberish>, _r: PromiseOrValue<BytesLike>, _s: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        "safeTransferFrom(address,address,uint256)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        "safeTransferFrom(address,address,uint256,bytes)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setApprovalForAll(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setHub(_hub: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setNFTDescriptor(_descriptor: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setPendingGovernor(__pendingGovernor: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        symbol(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        tokenPermissions(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        tokenURI(_tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
    };
}
//# sourceMappingURL=DCAPermissionsManager.d.ts.map