import { State } from '../../shared/State';
import { NoIdObjectSkeletonInterface } from '../ApiTypes';
/**
 * Certificate object skeleton
 */
export type CertificateResponse = NoIdObjectSkeletonInterface & {
    active: boolean;
    certificate: string;
    expireTime: string;
    id: string;
    issuer: string;
    live: boolean;
    subject: string;
    subjectAlternativeNames: string[];
    validFromTime: string;
};
/**
 * Get all certificates
 * @returns {Promise<CertificateResponse[]>} a promise that resolves to an array of certificate reponse objects
 */
export declare function getCertificates({ state, }: {
    state: State;
}): Promise<CertificateResponse[]>;
/**
 * Create certificate
 * @param {Object} params Parameters object.
 * @param {boolean} params.active The active status of the certificate. Set this to true for the certificate to actively be served.
 * @param {string} params.certificate The PEM formatted certificate.
 * @param {string} params.privateKey The private key for the certificate. For security reasons, only insert requests include this field.
 * @param {State} params.state State object.
 * @returns {Promise<CertificateResponse>} a promise that resolves to a certificate response object.
 */
export declare function createCertificate({ active, certificate, privateKey, state, }: {
    active: boolean;
    certificate: string;
    privateKey: string;
    state: State;
}): Promise<CertificateResponse>;
/**
 * Delete certificate by id
 * @param {Object} params Parameters object.
 * @param {string} params.certificateId ID of the certificate resource.
 * @param {State} params.state State object.
 * @returns {Promise<CertificateResponse>} a promise that resolves to a certificate object
 */
export declare function deleteCertificate({ certificateId, state, }: {
    certificateId: string;
    state: State;
}): Promise<CertificateResponse>;
/**
 * Get certificate by id
 * @param {Object} params Parameters object.
 * @param {string} params.certificateId ID of the certificate resource.
 * @param {State} params.state State object.
 * @returns {Promise<CertificateResponse>} a promise that resolves to a certificate object
 */
export declare function getCertificate({ certificateId, state, }: {
    certificateId: string;
    state: State;
}): Promise<CertificateResponse>;
/**
 * Update certificate
 * @param {Object} params Parameters object.
 * @param {string} params.certificateId ID of the certificate resource.
 * @param {boolean} params.active The active status of the certificate. Set this to true for the certificate to actively be served.
 * @param {State} params.state State object.
 * @returns {Promise<CertificateResponse>} a promise that resolves to a certificate response object.
 */
export declare function updateCertificate({ certificateId, active, state, }: {
    certificateId: string;
    active: boolean;
    state: State;
}): Promise<CertificateResponse>;
//# sourceMappingURL=EnvCertificatesApi.d.ts.map