import { Static } from '@sinclair/typebox';
import Commands, { CommandOutputFormat, type ParsedArgs } from '../commands.js';
export declare const IsSecure: import("@sinclair/typebox").TObject<{
    version: import("@sinclair/typebox").TString;
    type: import("@sinclair/typebox").TString;
    data: 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 IsValid: import("@sinclair/typebox").TObject<{
    version: import("@sinclair/typebox").TString;
    type: import("@sinclair/typebox").TString;
    data: 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 AuthConfig: import("@sinclair/typebox").TObject<{
    version: import("@sinclair/typebox").TString;
    type: import("@sinclair/typebox").TString;
    data: import("@sinclair/typebox").TObject<{
        url: import("@sinclair/typebox").TString;
        userString: import("@sinclair/typebox").TString;
        updateInterval: import("@sinclair/typebox").TNumber;
        groupPrefix: import("@sinclair/typebox").TString;
        serviceAccountDN: import("@sinclair/typebox").TString;
        serviceAccountCredential: import("@sinclair/typebox").TString;
        groupBaseRDN: 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 SecurityConfig: import("@sinclair/typebox").TObject<{
    version: import("@sinclair/typebox").TString;
    type: import("@sinclair/typebox").TString;
    data: import("@sinclair/typebox").TObject<{
        keystoreFile: import("@sinclair/typebox").TString;
        truststoreFile: import("@sinclair/typebox").TString;
        keystorePass: import("@sinclair/typebox").TString;
        truststorePass: import("@sinclair/typebox").TString;
        tlsVersion: import("@sinclair/typebox").TString;
        x509Groups: import("@sinclair/typebox").TBoolean;
        x509addAnon: import("@sinclair/typebox").TBoolean;
        enableEnrollment: import("@sinclair/typebox").TBoolean;
        caType: import("@sinclair/typebox").TString;
        signingKeystoreFile: import("@sinclair/typebox").TString;
        signingKeystorePass: import("@sinclair/typebox").TString;
        validityDays: import("@sinclair/typebox").TNumber;
        mscaUserName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
        mscaPassword: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
        mscaTruststore: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
        mscaTruststorePass: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
        mscaTemplateName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
    }>;
    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 SecurityAuthenticationCommands extends Commands {
    schema: {
        'security-config': {
            description: string;
            params: import("@sinclair/typebox").TObject<{}>;
            query: import("@sinclair/typebox").TObject<{}>;
            formats: CommandOutputFormat[];
        };
        'auth-config': {
            description: string;
            params: import("@sinclair/typebox").TObject<{}>;
            query: import("@sinclair/typebox").TObject<{}>;
            formats: CommandOutputFormat[];
        };
        'verify-config': {
            description: string;
            params: import("@sinclair/typebox").TObject<{}>;
            query: import("@sinclair/typebox").TObject<{}>;
            formats: CommandOutputFormat[];
        };
        'is-secure': {
            description: string;
            params: import("@sinclair/typebox").TObject<{}>;
            query: import("@sinclair/typebox").TObject<{}>;
            formats: CommandOutputFormat[];
        };
    };
    cli(args: ParsedArgs): Promise<object | string>;
    /**
     * Get Security Configuration
     *
     * {@link https://docs.tak.gov/api/takserver#tag/security-authentication-api/operation/getSecConfig TAK Server Docs}.
     */
    securityConfig(): Promise<Static<typeof SecurityConfig>>;
    /**
     * Get Auth Configuration
     *
     * {@link https://docs.tak.gov/api/takserver#tag/security-authentication-api/operation/getAuthConfig TAK Server Docs}.
     */
    authConfig(): Promise<Static<typeof AuthConfig>>;
    /**
     * Verify Configuration
     *
     * {@link https://docs.tak.gov/api/takserver#tag/security-authentication-api/operation/verifyConfig TAK Server Docs}.
     */
    verifyConfig(): Promise<Static<typeof IsValid>>;
    /**
     * Is Secure
     *
     * {@link https://docs.tak.gov/api/takserver#tag/security-authentication-api/operation/isSecure TAK Server Docs}.
     */
    isSecure(): Promise<Static<typeof IsSecure>>;
}
