{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.7.8",
    "schemaVersion": 1003,
    "oldestForwardsCompatibleVersion": 1001
  },
  "kind": "Package",
  "canonicalReference": "@mike-north/devcert-patched!",
  "docComment": "/**\n * Utilities for safely generating locally-trusted and machine-specific X.509 certificates for local development\n *\n * @packageDocumentation\n */\n",
  "name": "@mike-north/devcert-patched",
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "@mike-north/devcert-patched!",
      "name": "",
      "members": [
        {
          "kind": "Interface",
          "canonicalReference": "@mike-north/devcert-patched!CaBuffer:interface",
          "docComment": "/**\n * The CA public key as a buffer\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface CaBuffer "
            }
          ],
          "releaseTag": "Public",
          "name": "CaBuffer",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!CaBuffer#ca:member",
              "docComment": "/**\n * CA public key\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ca: "
                },
                {
                  "kind": "Reference",
                  "text": "Buffer",
                  "canonicalReference": "!Buffer:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "ca",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "@mike-north/devcert-patched!CaPath:interface",
          "docComment": "/**\n * The cert authority's path on disk\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface CaPath "
            }
          ],
          "releaseTag": "Public",
          "name": "CaPath",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!CaPath#caPath:member",
              "docComment": "/**\n * CA cert path on disk\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "caPath: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "caPath",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "@mike-north/devcert-patched!certificateFor:function(1)",
          "docComment": "/**\n * Request an SSL certificate for the given app name signed by the devcert root certificate authority. If devcert has previously generated a certificate for that app name on this machine, it will reuse that certificate.\n *\n * If this is the first time devcert is being run on this machine, it will generate and attempt to install a root certificate authority.\n *\n * If `options.getCaBuffer` is true, return value will include the ca certificate data as \\{ ca: Buffer \\}\n *\n * If `options.getCaPath` is true, return value will include the ca certificate path as \\{ caPath: string \\}\n *\n * @param commonName - common name for certificate\n *\n * @param alternativeNames - alternate names for the certificate\n *\n * @param options - cert generation options\n *\n * @param partialCertOptions - certificate options\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function certificateFor<O extends "
            },
            {
              "kind": "Reference",
              "text": "Options",
              "canonicalReference": "@mike-north/devcert-patched!Options:interface"
            },
            {
              "kind": "Content",
              "text": ", CO extends "
            },
            {
              "kind": "Reference",
              "text": "Partial",
              "canonicalReference": "!Partial:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "CertOptions",
              "canonicalReference": "@mike-north/devcert-patched!CertOptions:interface"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ">(commonName: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", alternativeNames: "
            },
            {
              "kind": "Content",
              "text": "string[]"
            },
            {
              "kind": "Content",
              "text": ", options?: "
            },
            {
              "kind": "Content",
              "text": "O"
            },
            {
              "kind": "Content",
              "text": ", partialCertOptions?: "
            },
            {
              "kind": "Content",
              "text": "CO"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "IReturnData",
              "canonicalReference": "@mike-north/devcert-patched!IReturnData:type"
            },
            {
              "kind": "Content",
              "text": "<O>>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 16,
            "endIndex": 20
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "commonName",
              "parameterTypeTokenRange": {
                "startIndex": 8,
                "endIndex": 9
              }
            },
            {
              "parameterName": "alternativeNames",
              "parameterTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 11
              }
            },
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 12,
                "endIndex": 13
              }
            },
            {
              "parameterName": "partialCertOptions",
              "parameterTypeTokenRange": {
                "startIndex": 14,
                "endIndex": 15
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "O",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "typeParameterName": "CO",
              "constraintTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "certificateFor"
        },
        {
          "kind": "Function",
          "canonicalReference": "@mike-north/devcert-patched!certificateFor:function(2)",
          "docComment": "/**\n * Request an SSL certificate for the given app name signed by the devcert root certificate authority. If devcert has previously generated a certificate for that app name on this machine, it will reuse that certificate.\n *\n * If this is the first time devcert is being run on this machine, it will generate and attempt to install a root certificate authority.\n *\n * If `options.getCaBuffer` is true, return value will include the ca certificate data as \\{ ca: Buffer \\}\n *\n * If `options.getCaPath` is true, return value will include the ca certificate path as \\{ caPath: string \\}\n *\n * @param commonName - common name for certificate\n *\n * @param alternativeNames - alternate names for the certificate\n *\n * @param options - cert generation options\n *\n * @param partialCertOptions - certificate options\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function certificateFor<O extends "
            },
            {
              "kind": "Reference",
              "text": "Options",
              "canonicalReference": "@mike-north/devcert-patched!Options:interface"
            },
            {
              "kind": "Content",
              "text": ", CO extends "
            },
            {
              "kind": "Reference",
              "text": "Partial",
              "canonicalReference": "!Partial:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "CertOptions",
              "canonicalReference": "@mike-north/devcert-patched!CertOptions:interface"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ">(commonName: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", options?: "
            },
            {
              "kind": "Content",
              "text": "O"
            },
            {
              "kind": "Content",
              "text": ", partialCertOptions?: "
            },
            {
              "kind": "Content",
              "text": "CO"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "IReturnData",
              "canonicalReference": "@mike-north/devcert-patched!IReturnData:type"
            },
            {
              "kind": "Content",
              "text": "<O>>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 14,
            "endIndex": 18
          },
          "releaseTag": "Public",
          "overloadIndex": 2,
          "parameters": [
            {
              "parameterName": "commonName",
              "parameterTypeTokenRange": {
                "startIndex": 8,
                "endIndex": 9
              }
            },
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 11
              }
            },
            {
              "parameterName": "partialCertOptions",
              "parameterTypeTokenRange": {
                "startIndex": 12,
                "endIndex": 13
              }
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "O",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "typeParameterName": "CO",
              "constraintTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "certificateFor"
        },
        {
          "kind": "Interface",
          "canonicalReference": "@mike-north/devcert-patched!CertOptions:interface",
          "docComment": "/**\n * Certificate options\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface CertOptions "
            }
          ],
          "releaseTag": "Public",
          "name": "CertOptions",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!CertOptions#caCertExpiry:member",
              "docComment": "/**\n * Number of days before the CA expires\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "caCertExpiry: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "caCertExpiry",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!CertOptions#domainCertExpiry:member",
              "docComment": "/**\n * Number of days before the domain certificate expires\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "domainCertExpiry: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "domainCertExpiry",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "@mike-north/devcert-patched!closeRemoteServer:function(1)",
          "docComment": "/**\n * Closes the remote server\n *\n * @param hostname - hostname of the remote machine\n *\n * @param port - port to connect the remote machine\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function closeRemoteServer(hostname: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", port: "
            },
            {
              "kind": "Content",
              "text": "number"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<string>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 7
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "hostname",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "port",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "name": "closeRemoteServer"
        },
        {
          "kind": "Interface",
          "canonicalReference": "@mike-north/devcert-patched!DomainData:interface",
          "docComment": "/**\n * Domain cert public and private keys as buffers\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface DomainData "
            }
          ],
          "releaseTag": "Public",
          "name": "DomainData",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!DomainData#cert:member",
              "docComment": "/**\n * public key (cert)\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "cert: "
                },
                {
                  "kind": "Reference",
                  "text": "Buffer",
                  "canonicalReference": "!Buffer:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "cert",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!DomainData#key:member",
              "docComment": "/**\n * private key\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "key: "
                },
                {
                  "kind": "Reference",
                  "text": "Buffer",
                  "canonicalReference": "!Buffer:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "key",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "@mike-north/devcert-patched!getRemoteCertificate:function(1)",
          "docComment": "/**\n * Returns the remote box's certificate\n *\n * @param hostname - hostname of the remote machine\n *\n * @param port - port to connect the remote machine\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function getRemoteCertificate(hostname: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", port: "
            },
            {
              "kind": "Content",
              "text": "number"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<string>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 7
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "hostname",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "port",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "name": "getRemoteCertificate"
        },
        {
          "kind": "Function",
          "canonicalReference": "@mike-north/devcert-patched!hasCertificateFor:function(1)",
          "docComment": "/**\n * Check whether a certificate with a given common_name has been installed\n *\n * @param commonName - commonName of certificate whose existence is being checked\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function hasCertificateFor(commonName: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "boolean"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 4
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "commonName",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "hasCertificateFor"
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@mike-north/devcert-patched!IReturnCa:type",
          "docComment": "/**\n * A return value containing the CA public key\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type IReturnCa<O extends "
            },
            {
              "kind": "Reference",
              "text": "Options",
              "canonicalReference": "@mike-north/devcert-patched!Options:interface"
            },
            {
              "kind": "Content",
              "text": "> = "
            },
            {
              "kind": "Content",
              "text": "O['getCaBuffer'] extends true ? "
            },
            {
              "kind": "Reference",
              "text": "CaBuffer",
              "canonicalReference": "@mike-north/devcert-patched!CaBuffer:interface"
            },
            {
              "kind": "Content",
              "text": " : false"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "IReturnCa",
          "typeParameters": [
            {
              "typeParameterName": "O",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@mike-north/devcert-patched!IReturnCaPath:type",
          "docComment": "/**\n * A return value containing the CA path on disk\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type IReturnCaPath<O extends "
            },
            {
              "kind": "Reference",
              "text": "Options",
              "canonicalReference": "@mike-north/devcert-patched!Options:interface"
            },
            {
              "kind": "Content",
              "text": "> = "
            },
            {
              "kind": "Content",
              "text": "O['getCaPath'] extends true ? "
            },
            {
              "kind": "Reference",
              "text": "CaPath",
              "canonicalReference": "@mike-north/devcert-patched!CaPath:interface"
            },
            {
              "kind": "Content",
              "text": " : false"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "IReturnCaPath",
          "typeParameters": [
            {
              "typeParameterName": "O",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@mike-north/devcert-patched!IReturnData:type",
          "docComment": "/**\n * A return value containing the CA public key, CA path on disk, and domain cert info\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type IReturnData<O extends "
            },
            {
              "kind": "Reference",
              "text": "Options",
              "canonicalReference": "@mike-north/devcert-patched!Options:interface"
            },
            {
              "kind": "Content",
              "text": " "
            },
            {
              "kind": "Content",
              "text": "= "
            },
            {
              "kind": "Content",
              "text": "{}"
            },
            {
              "kind": "Content",
              "text": "> = "
            },
            {
              "kind": "Reference",
              "text": "DomainData",
              "canonicalReference": "@mike-north/devcert-patched!DomainData:interface"
            },
            {
              "kind": "Content",
              "text": " & "
            },
            {
              "kind": "Reference",
              "text": "IReturnCa",
              "canonicalReference": "@mike-north/devcert-patched!IReturnCa:type"
            },
            {
              "kind": "Content",
              "text": "<O> & "
            },
            {
              "kind": "Reference",
              "text": "IReturnCaPath",
              "canonicalReference": "@mike-north/devcert-patched!IReturnCaPath:type"
            },
            {
              "kind": "Content",
              "text": "<O>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "IReturnData",
          "typeParameters": [
            {
              "typeParameterName": "O",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "defaultTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 5
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 6,
            "endIndex": 12
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "@mike-north/devcert-patched!Logger:interface",
          "docComment": "/**\n * An interface that allows consuming apps to display logging on their side by passing in the logging mechanism of their choice\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface Logger "
            }
          ],
          "releaseTag": "Public",
          "name": "Logger",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!Logger#error:member",
              "docComment": "/**\n * error logging\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "error: "
                },
                {
                  "kind": "Content",
                  "text": "typeof "
                },
                {
                  "kind": "Reference",
                  "text": "console.error",
                  "canonicalReference": "!Console#error:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "error",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!Logger#log:member",
              "docComment": "/**\n * info logging\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "log: "
                },
                {
                  "kind": "Content",
                  "text": "typeof "
                },
                {
                  "kind": "Reference",
                  "text": "console.log",
                  "canonicalReference": "!Console#log:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "log",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!Logger#warn:member",
              "docComment": "/**\n * warn logging\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "warn: "
                },
                {
                  "kind": "Content",
                  "text": "typeof "
                },
                {
                  "kind": "Reference",
                  "text": "console.warn",
                  "canonicalReference": "!Console#warn:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "warn",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "@mike-north/devcert-patched!Options:interface",
          "docComment": "/**\n * Cert generation options\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface Options "
            }
          ],
          "releaseTag": "Public",
          "name": "Options",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!Options#getCaBuffer:member",
              "docComment": "/**\n * Return the CA certificate data?\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getCaBuffer?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "getCaBuffer",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!Options#getCaPath:member",
              "docComment": "/**\n * Return the path to the CA certificate?\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getCaPath?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "getCaPath",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!Options#renewalBufferInBusinessDays:member",
              "docComment": "/**\n * Number of business days before domain cert expiry before automatic revoke and renew\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "renewalBufferInBusinessDays?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "renewalBufferInBusinessDays",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!Options#skipCertutilInstall:member",
              "docComment": "/**\n * If `certutil` is not installed already (for updating nss databases; e.g. firefox), do not attempt to install it\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "skipCertutilInstall?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "skipCertutilInstall",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!Options#skipHostsFile:member",
              "docComment": "/**\n * Do not update your systems host file with the domain name of the certificate\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "skipHostsFile?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "skipHostsFile",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!Options#ui:member",
              "docComment": "/**\n * User interface hooks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ui?: "
                },
                {
                  "kind": "Reference",
                  "text": "UserInterface",
                  "canonicalReference": "@mike-north/devcert-patched!UserInterface:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "ui",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "@mike-north/devcert-patched!removeAndRevokeDomainCert:function(1)",
          "docComment": "/**\n * Remove a certificate and revoke it from the OpenSSL cert database\n *\n * @param commonName - commonName of cert to remove\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function removeAndRevokeDomainCert(commonName: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<void>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "commonName",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "removeAndRevokeDomainCert"
        },
        {
          "kind": "Function",
          "canonicalReference": "@mike-north/devcert-patched!removeDomain:function(1)",
          "docComment": "/**\n * Remove a certificate\n *\n * @deprecated\n *\n * please use {@link removeAndRevokeDomainCert | removeAndRevokeDomainCert} to ensure that the OpenSSL cert removal is handled properly\n *\n * @param commonName - commonName of cert to remove\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function removeDomain(commonName: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 4
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "commonName",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "removeDomain"
        },
        {
          "kind": "Function",
          "canonicalReference": "@mike-north/devcert-patched!trustRemoteMachine:function(1)",
          "docComment": "/**\n * Trust the remote hosts's certificate on local machine. This function would ssh into the remote host, get the certificate and trust the local machine from where this function is getting called from.\n *\n * @param hostname - hostname of the remote machine\n *\n * @param certPath - file path to store the cert\n *\n * @param TrustRemoteOptions - TrustRemoteOptions options\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function trustRemoteMachine(hostname: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", certPath: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", { port, useLocalhostForRemote, renewalBufferInBusinessDays, logger }?: "
            },
            {
              "kind": "Reference",
              "text": "Partial",
              "canonicalReference": "!Partial:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "TrustRemoteOptions",
              "canonicalReference": "@mike-north/devcert-patched!TrustRemoteOptions:interface"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<{\n    mustRenew: boolean;\n}>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 10,
            "endIndex": 12
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "hostname",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "certPath",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            },
            {
              "parameterName": "{ port, useLocalhostForRemote, renewalBufferInBusinessDays, logger }",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              }
            }
          ],
          "name": "trustRemoteMachine"
        },
        {
          "kind": "Interface",
          "canonicalReference": "@mike-north/devcert-patched!TrustRemoteOptions:interface",
          "docComment": "/**\n * Remote certificate trust options\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface TrustRemoteOptions "
            }
          ],
          "releaseTag": "Public",
          "name": "TrustRemoteOptions",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!TrustRemoteOptions#closeRemoteFunc:member",
              "docComment": "/**\n * function to close the remote server.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "closeRemoteFunc: "
                },
                {
                  "kind": "Content",
                  "text": "typeof "
                },
                {
                  "kind": "Reference",
                  "text": "closeRemoteServer",
                  "canonicalReference": "@mike-north/devcert-patched!closeRemoteServer:function"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "closeRemoteFunc",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!TrustRemoteOptions#logger:member",
              "docComment": "/**\n * Logger interface to suppport logging mechanism on the onsumer side.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "logger?: "
                },
                {
                  "kind": "Reference",
                  "text": "Logger",
                  "canonicalReference": "@mike-north/devcert-patched!Logger:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "logger",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!TrustRemoteOptions#port:member",
              "docComment": "/**\n * port number for the remote server.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "port: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "port",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!TrustRemoteOptions#renewalBufferInBusinessDays:member",
              "docComment": "/**\n * remaining business days validity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "renewalBufferInBusinessDays: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "renewalBufferInBusinessDays",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@mike-north/devcert-patched!TrustRemoteOptions#useLocalhostForRemote:member",
              "docComment": "/**\n * use localhost for connecting to remote server\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "useLocalhostForRemote: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "useLocalhostForRemote",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "@mike-north/devcert-patched!uninstall:function(1)",
          "docComment": "/**\n * Remove as much of the devcert files and state as we can. This is necessary when generating a new root certificate, and should be available to API consumers as well.\n *\n * Not all of it will be removable. If certutil is not installed, we'll leave Firefox alone. We try to remove files with maximum permissions, and if that fails, we'll silently fail.\n *\n * It's also possible that the command to untrust will not work, and we'll silently fail that as well; with no existing certificates anymore, the security exposure there is minimal.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function uninstall(): "
            },
            {
              "kind": "Content",
              "text": "void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [],
          "name": "uninstall"
        },
        {
          "kind": "Function",
          "canonicalReference": "@mike-north/devcert-patched!untrustMachineByCertificate:function(1)",
          "docComment": "/**\n * Untrust the certificate for a given file path.\n *\n * @param filePath - file path of the cert\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function untrustMachineByCertificate(certPath: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 4
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "certPath",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "untrustMachineByCertificate"
        },
        {
          "kind": "Interface",
          "canonicalReference": "@mike-north/devcert-patched!UserInterface:interface",
          "docComment": "/**\n * A representation of several parts of the local system that the user interacts with\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface UserInterface "
            }
          ],
          "releaseTag": "Public",
          "name": "UserInterface",
          "members": [
            {
              "kind": "MethodSignature",
              "canonicalReference": "@mike-north/devcert-patched!UserInterface#closeFirefoxBeforeContinuing:member(1)",
              "docComment": "/**\n * Close firefox\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "closeFirefoxBeforeContinuing(): "
                },
                {
                  "kind": "Content",
                  "text": "void | "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "closeFirefoxBeforeContinuing"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "@mike-north/devcert-patched!UserInterface#firefoxWizardPromptPage:member(1)",
              "docComment": "/**\n * Load the cert approval page in the user's local firefox\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "firefoxWizardPromptPage(certificateURL: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "string | "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<string>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "certificateURL",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "firefoxWizardPromptPage"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "@mike-north/devcert-patched!UserInterface#getWindowsEncryptionPassword:member(1)",
              "docComment": "/**\n * Get the disk encryption password (windows only)\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getWindowsEncryptionPassword(): "
                },
                {
                  "kind": "Content",
                  "text": "string | "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<string>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "getWindowsEncryptionPassword"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "@mike-north/devcert-patched!UserInterface#startFirefoxWizard:member(1)",
              "docComment": "/**\n * Begin the process of approving a cert through firefix\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "startFirefoxWizard(certificateHost: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void | "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "certificateHost",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  }
                }
              ],
              "name": "startFirefoxWizard"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "@mike-north/devcert-patched!UserInterface#waitForFirefoxWizard:member(1)",
              "docComment": "/**\n * Wait for the user to complete the firefox cert approval wizard\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "waitForFirefoxWizard(): "
                },
                {
                  "kind": "Content",
                  "text": "void | "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "waitForFirefoxWizard"
            },
            {
              "kind": "MethodSignature",
              "canonicalReference": "@mike-north/devcert-patched!UserInterface#warnChromeOnLinuxWithoutCertutil:member(1)",
              "docComment": "/**\n * Deliver a warning to the user without using certutil (linux only)\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "warnChromeOnLinuxWithoutCertutil(): "
                },
                {
                  "kind": "Content",
                  "text": "void | "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "warnChromeOnLinuxWithoutCertutil"
            }
          ],
          "extendsTokenRanges": []
        }
      ]
    }
  ]
}
