export function getPrivateKeys(): Map<any, any>;
export function generateKeys(): Promise<{
    publicKey: any;
    privateKey: any;
}>;
export function updateConfigCert(): void;
export function setCertTable(certRecord: any): Promise<void>;
export function getCertTable(): any;
/**
 * This is responsible for loading any certificates that are in the harperdb-config.yaml file and putting them into the hdbCertificate table.
 * @return {*}
 */
export function loadCertificates(): any;
export function reviewSelfSignedCert(): Promise<void>;
/**
 * Create a TLS selector that will choose the best TLS configuration/context for a given hostname
 * @param type
 * @param mtlsOptions
 * @return {(function(*, *): (*|undefined))|*}
 */
export function createTLSSelector(type: any, mtlsOptions: any): ((arg0: any, arg1: any) => (any | undefined)) | any;
/**
 * List all the records in hdbCertificate table
 * @returns {Promise<*[]>}
 */
export function listCertificates(): Promise<any[]>;
export function generateCertsKeys(): Promise<void>;
export function getReplicationCert(): Promise<any>;
export function getReplicationCertAuth(): Promise<any>;
/**
 * Delete any existing self-signed certs (including CA) and create new ones
 * @returns {Promise<void>}
 */
export function renewSelfSigned(): Promise<void>;
export function hostnamesFromCert(cert: any): any;
export function getHostnamesFromCertificate(certificate: any): any[];
export function getPrimaryHostName(cert: any): any;
/**
 * Generates a cryptographically secure serial number for X.509 certificates.
 *
 * Returns a hex string as expected by node-forge. Ensures the high bit is cleared
 * to create a positive ASN.1 INTEGER per RFC 5280 requirements.
 *
 * @returns {string} 16-character hex string
 */
export function generateSerialNumber(): string;
export function getCertAuthority(): Promise<{
    ca: any;
    private_key: any;
}>;
export function certExtensions(): ({
    name: string;
    cA: boolean;
    critical: boolean;
    digitalSignature?: undefined;
    keyEncipherment?: undefined;
    serverAuth?: undefined;
    clientAuth?: undefined;
    client?: undefined;
    server?: undefined;
    altNames?: undefined;
} | {
    name: string;
    digitalSignature: boolean;
    keyEncipherment: boolean;
    critical: boolean;
    cA?: undefined;
    serverAuth?: undefined;
    clientAuth?: undefined;
    client?: undefined;
    server?: undefined;
    altNames?: undefined;
} | {
    name: string;
    serverAuth: boolean;
    clientAuth: boolean;
    cA?: undefined;
    critical?: undefined;
    digitalSignature?: undefined;
    keyEncipherment?: undefined;
    client?: undefined;
    server?: undefined;
    altNames?: undefined;
} | {
    name: string;
    client: boolean;
    server: boolean;
    cA?: undefined;
    critical?: undefined;
    digitalSignature?: undefined;
    keyEncipherment?: undefined;
    serverAuth?: undefined;
    clientAuth?: undefined;
    altNames?: undefined;
} | {
    name: string;
    altNames: ({
        type: number;
        ip: string;
        value?: undefined;
    } | {
        type: number;
        value: string;
        ip?: undefined;
    })[];
    cA?: undefined;
    critical?: undefined;
    digitalSignature?: undefined;
    keyEncipherment?: undefined;
    serverAuth?: undefined;
    clientAuth?: undefined;
    client?: undefined;
    server?: undefined;
})[];
export function getCommonName(): string;
export const CERT_ATTRIBUTES: {
    name: string;
    value: string;
}[];
