## API Report File for "@mike-north/devcert-patched"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

// @public
export interface CaBuffer {
    ca: Buffer;
}

// @public
export interface CaPath {
    caPath: string;
}

// @public
export function certificateFor<O extends Options, CO extends Partial<CertOptions>>(commonName: string, alternativeNames: string[], options?: O, partialCertOptions?: CO): Promise<IReturnData<O>>;

// @public
export function certificateFor<O extends Options, CO extends Partial<CertOptions>>(commonName: string, options?: O, partialCertOptions?: CO): Promise<IReturnData<O>>;

// @public
export interface CertOptions {
    caCertExpiry: number;
    domainCertExpiry: number;
}

// @public
export function closeRemoteServer(hostname: string, port: number): Promise<string>;

// @alpha
export function configuredDomains(): string[];

// @public
export interface DomainData {
    cert: Buffer;
    key: Buffer;
}

// @alpha
export function getCertExpirationInfo(commonName: string, renewalBufferInBusinessDays?: number): {
    mustRenew: boolean;
    renewBy: Date;
    expireAt: Date;
};

// @public
export function getRemoteCertificate(hostname: string, port: number): Promise<string>;

// @public
export function hasCertificateFor(commonName: string): boolean;

// @public
export type IReturnCa<O extends Options> = O['getCaBuffer'] extends true ? CaBuffer : false;

// @public
export type IReturnCaPath<O extends Options> = O['getCaPath'] extends true ? CaPath : false;

// @public
export type IReturnData<O extends Options = {}> = DomainData & IReturnCa<O> & IReturnCaPath<O>;

// @public
export interface Logger {
    error: typeof console.error;
    log: typeof console.log;
    warn: typeof console.warn;
}

// @public
export interface Options {
    getCaBuffer?: boolean;
    getCaPath?: boolean;
    renewalBufferInBusinessDays?: number;
    skipCertutilInstall?: boolean;
    skipHostsFile?: boolean;
    ui?: UserInterface;
}

// @public
export function removeAndRevokeDomainCert(commonName: string): Promise<void>;

// @public @deprecated
export function removeDomain(commonName: string): void;

// @internal
export function _trustCertsOnRemote(machineDetails: {
    hostname: string;
    port: number;
    certPath: string;
}, certDetails: {
    renewalBufferInBusinessDays: number;
}, injections?: {
    getRemoteCertsFunc: typeof getRemoteCertificate;
}): Promise<{
    mustRenew: boolean;
}>;

// @public
export function trustRemoteMachine(hostname: string, certPath: string, { port, useLocalhostForRemote, renewalBufferInBusinessDays, logger }?: Partial<TrustRemoteOptions>): Promise<{
    mustRenew: boolean;
}>;

// @internal
export function _trustRemoteMachine(hostname: string, certPath: string, { port, renewalBufferInBusinessDays, logger, closeRemoteFunc }?: Partial<TrustRemoteOptions>, trustCertsOnRemoteFunc?: typeof _trustCertsOnRemote): Promise<boolean>;

// @public
export interface TrustRemoteOptions {
    closeRemoteFunc: typeof closeRemoteServer;
    logger?: Logger;
    port: number;
    renewalBufferInBusinessDays: number;
    useLocalhostForRemote: boolean;
}

// @public
export function uninstall(): void;

// @public
export function untrustMachineByCertificate(certPath: string): void;

// @public
export interface UserInterface {
    closeFirefoxBeforeContinuing(): void | Promise<void>;
    firefoxWizardPromptPage(certificateURL: string): string | Promise<string>;
    getWindowsEncryptionPassword(): string | Promise<string>;
    startFirefoxWizard(certificateHost: string): void | Promise<void>;
    waitForFirefoxWizard(): void | Promise<void>;
    warnChromeOnLinuxWithoutCertutil(): void | Promise<void>;
}


```
