import { Signer, ContractFactory, Overrides } from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { Permit2EIP712, Permit2EIP712Interface } from "../Permit2EIP712";
type Permit2EIP712ConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class Permit2EIP712__factory extends ContractFactory {
    constructor(...args: Permit2EIP712ConstructorParams);
    deploy(overrides?: Overrides & {
        from?: string;
    }): Promise<Permit2EIP712>;
    getDeployTransaction(overrides?: Overrides & {
        from?: string;
    }): TransactionRequest;
    attach(address: string): Permit2EIP712;
    connect(signer: Signer): Permit2EIP712__factory;
    static readonly bytecode = "0x60c03460b5574660a052602081017f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408301524660608301523060808301526080825260a082019180831060018060401b0384111760a1578260405251902060805261015a90816100ba8239608051816061015260a0518160380152f35b634e487b7160e01b5f52604160045260245ffd5b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c633644e51514610025575f80fd5b34610120575f36600319011261012057467f000000000000000000000000000000000000000000000000000000000000000003610089575060207f00000000000000000000000000000000000000000000000000000000000000005b604051908152f35b602081017f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408301524660608301523060808301526080825260a082019180831067ffffffffffffffff84111761010c57602092604052519020610081565b634e487b7160e01b5f52604160045260245ffd5b5f80fdfea2646970667358221220d911dabf7e7d428e22fc6cef2fa11416e1b450bc47eb25f88b19aea59e7e8f5b64736f6c634300081e0033";
    static readonly abi: readonly [{
        readonly type: "constructor";
        readonly inputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "DOMAIN_SEPARATOR";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "bytes32";
            readonly internalType: "bytes32";
        }];
        readonly stateMutability: "view";
    }];
    static createInterface(): Permit2EIP712Interface;
    static connect(address: string, signerOrProvider: Signer | Provider): Permit2EIP712;
}
export {};
