import Commands from '../commands.js';
import type { Static } from '@sinclair/typebox';
export declare const Certificate: import("@sinclair/typebox").TObject<{
    id: import("@sinclair/typebox").TInteger;
    creatorDn: import("@sinclair/typebox").TString;
    subjectDn: import("@sinclair/typebox").TString;
    userDn: import("@sinclair/typebox").TString;
    certificate: import("@sinclair/typebox").TString;
    hash: import("@sinclair/typebox").TString;
    clientUid: import("@sinclair/typebox").TString;
    issuanceDate: import("@sinclair/typebox").TString;
    expirationDate: import("@sinclair/typebox").TString;
    effectiveDate: import("@sinclair/typebox").TString;
    revocationDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    token: import("@sinclair/typebox").TString;
    serialNumber: import("@sinclair/typebox").TString;
}>;
export declare const TAKList_Certificate: import("@sinclair/typebox").TObject<{
    version: import("@sinclair/typebox").TString;
    type: import("@sinclair/typebox").TString;
    data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
        id: import("@sinclair/typebox").TInteger;
        creatorDn: import("@sinclair/typebox").TString;
        subjectDn: import("@sinclair/typebox").TString;
        userDn: import("@sinclair/typebox").TString;
        certificate: import("@sinclair/typebox").TString;
        hash: import("@sinclair/typebox").TString;
        clientUid: import("@sinclair/typebox").TString;
        issuanceDate: import("@sinclair/typebox").TString;
        expirationDate: import("@sinclair/typebox").TString;
        effectiveDate: import("@sinclair/typebox").TString;
        revocationDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        token: import("@sinclair/typebox").TString;
        serialNumber: import("@sinclair/typebox").TString;
    }>>;
    messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
    nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare const TAKItem_Certificate: import("@sinclair/typebox").TObject<{
    version: import("@sinclair/typebox").TString;
    type: import("@sinclair/typebox").TString;
    data: import("@sinclair/typebox").TObject<{
        id: import("@sinclair/typebox").TInteger;
        creatorDn: import("@sinclair/typebox").TString;
        subjectDn: import("@sinclair/typebox").TString;
        userDn: import("@sinclair/typebox").TString;
        certificate: import("@sinclair/typebox").TString;
        hash: import("@sinclair/typebox").TString;
        clientUid: import("@sinclair/typebox").TString;
        issuanceDate: import("@sinclair/typebox").TString;
        expirationDate: import("@sinclair/typebox").TString;
        effectiveDate: import("@sinclair/typebox").TString;
        revocationDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        token: import("@sinclair/typebox").TString;
        serialNumber: import("@sinclair/typebox").TString;
    }>;
    messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
    nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export default class CertificateCommands extends Commands {
    schema: {};
    cli(): Promise<object | string>;
    /**
     * List Certificates
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/getAll_1 TAK Server Docs}.
     */
    list(username?: string): Promise<Static<typeof TAKList_Certificate>>;
    /**
     * List Revoked Certificates
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/getRevoked TAK Server Docs}.
     */
    listRevoked(): Promise<Static<typeof TAKList_Certificate>>;
    /**
     * List Replaced Certificates
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/getReplaced TAK Server Docs}.
     */
    listReplaced(): Promise<Static<typeof TAKList_Certificate>>;
    /**
     * List Expired Certificates
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/getExpired TAK Server Docs}.
     */
    listExpired(): Promise<Static<typeof TAKList_Certificate>>;
    /**
     * Get Single Certificate
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/getCertificate TAK Server Docs}.
     */
    get(hash: string): Promise<Static<typeof TAKItem_Certificate>>;
    /**
     * Download Single Certificate
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/downloadCertificate TAK Server Docs}.
     */
    download(hash: string): Promise<string>;
    /**
     * Revoke Single Certificate
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/revokeCertificate TAK Server Docs}.
     */
    revoke(hash: string): Promise<Static<typeof TAKItem_Certificate>>;
    /**
     * Revoke Certificates by Id
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/revokeCertificates TAK Server Docs}.
     */
    revokeIds(ids: string[]): Promise<Static<typeof TAKItem_Certificate>>;
    /**
     * Delete Certificates by Id
     *
     * {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/deleteCertificates TAK Server Docs}.
     */
    deleteIds(ids: string[]): Promise<Static<typeof TAKItem_Certificate>>;
}
