import { NetworkType } from 'symbol-sdk';
import { Logger } from '../logger';
import { CertificatePair } from '../model';
export interface CertificateParams {
    readonly target: string;
    readonly user: string;
}
export interface CertificateMetadata {
    readonly transportPublicKey: string;
    readonly mainPublicKey: string;
    readonly version: number;
}
export interface NodeCertificates {
    main: CertificatePair;
    transport: CertificatePair;
}
export declare class CertificateService {
    private readonly logger;
    protected readonly params: CertificateParams;
    private static readonly METADATA_VERSION;
    constructor(logger: Logger, params: CertificateParams);
    static getCertificates(stdout: string): CertificatePair[];
    run(networkType: NetworkType, symbolServerImage: string, name: string, providedCertificates: NodeCertificates, customCertFolder?: string, randomSerial?: string): Promise<void>;
    private shouldGenerateCertificate;
    private createCertCommands;
}
