import { Lorem } from '@pawel-up/data-mock/Lorem.js';
import { Random } from '@pawel-up/data-mock/Random.js';
import { Types } from '@pawel-up/data-mock/Types.js';
import { ArcDataMockInit } from '../LegacyInterfaces.js';
import { Certificate, CertificateIndex, ClientCertificate } from '../../models/legacy/models/ClientCertificate.js';
import { ExportArcClientCertificateData } from '../../models/legacy/DataExport.js';
export declare interface CertificateCreateInit {
    binary?: boolean;
    noPassphrase?: boolean;
    noKey?: boolean;
    noCreated?: boolean;
    type?: 'p12' | 'pem';
}
export declare class Certificates {
    lorem: Lorem;
    types: Types;
    random: Random;
    constructor(init?: ArcDataMockInit);
    /**
     * Creates a certificate definition.
     */
    certificate(opts?: CertificateCreateInit): Certificate;
    /**
     * Generates a Client Certificate index object.
     * @param opts Create options
     */
    certificateIndex(opts?: CertificateCreateInit): CertificateIndex;
    /**
     * @param opts Create options
     */
    requestCertificate(opts?: CertificateCreateInit): ClientCertificate;
    /**
     * Creates a ClientCertificate object that is used to create a new certificate.
     * @param opts Create options
     */
    clientCertificate(opts?: CertificateCreateInit): ClientCertificate;
    /**
     * Creates a list of ClientCertificate objects that are used to create a new certificates.
     *
     * @param size The number of certificates to generate.
     * @param opts Create options
     */
    clientCertificates(size?: number, opts?: CertificateCreateInit): ClientCertificate[];
    /**
     * Creates a ClientCertificate transformed to the export object.
     */
    exportClientCertificate(opts?: CertificateCreateInit): ExportArcClientCertificateData;
    /**
     * Creates a list of ClientCertificates transformed for the export object.
     */
    exportClientCertificates(size?: number, opts?: CertificateCreateInit): ExportArcClientCertificateData[];
    /**
     * @param cert Certificate definition. See class description.
     */
    toStore(cert: Certificate | Certificate[]): Certificate | Certificate[];
}
//# sourceMappingURL=Certificates.d.ts.map