/**
 * Certificate Utilities for SMTP Server
 * Provides utilities for managing TLS certificates
 */
import * as tls from 'tls';
/**
 * Certificate data
 */
export interface ICertificateData {
    key: Buffer;
    cert: Buffer;
    ca?: Buffer;
}
/**
 * Load certificates from PEM format strings
 * @param options - Certificate options
 * @returns Certificate data with Buffer format
 */
export declare function loadCertificatesFromString(options: {
    key: string | Buffer;
    cert: string | Buffer;
    ca?: string | Buffer;
}): ICertificateData;
/**
 * Load certificates from files
 * @param options - Certificate file paths
 * @returns Certificate data with Buffer format
 */
export declare function loadCertificatesFromFiles(options: {
    keyPath: string;
    certPath: string;
    caPath?: string;
}): ICertificateData;
/**
 * Generate self-signed certificates for testing
 * @returns Certificate data with Buffer format
 */
export declare function generateSelfSignedCertificates(): ICertificateData;
/**
 * Create TLS options for secure server or STARTTLS
 * @param certificates - Certificate data
 * @param isServer - Whether this is for server (true) or client (false)
 * @returns TLS options
 */
export declare function createTlsOptions(certificates: ICertificateData, isServer?: boolean): tls.TlsOptions;
