import { AadSignatureVerificationConfig, AdfsSignatureVerificationConfig, CustomSignatureVerificationConfig, JwksSignatureVerificationConfig, SignatureVerificationConfig } from '../sso-configuration.model';
export declare enum AlgorithmType {
    PCKS = "PCKS",
    RSA = "RSA"
}
export declare const algorithmTypeConfig: {
    PCKS: {
        name: string;
        value: string;
        label: "X.509 certificate (PEM format)";
    };
    RSA: {
        name: string;
        value: string;
        label: "RSA public key (X.509 Subject Public Key Info)";
    };
};
export declare enum CertificateType {
    CUSTOM = "CUSTOM",
    AZURE = "AZURE",
    ADFS = "ADFS",
    JWKS = "JWKS"
}
export declare const certificateTypeConfig: {
    CUSTOM: {
        name: string;
        label: "Custom";
        value: string;
        signatureVerificationConfigFragment: string;
        ordinal: number;
    };
    AZURE: {
        name: string;
        label: string;
        value: string;
        signatureVerificationConfigFragment: string;
        ordinal: number;
    };
    ADFS: {
        name: string;
        label: "ADFS manifest";
        value: string;
        signatureVerificationConfigFragment: string;
        ordinal: number;
    };
    JWKS: {
        name: string;
        label: string;
        value: string;
        signatureVerificationConfigFragment: string;
        ordinal: number;
    };
};
export interface CustomCertificate {
    alg: AlgorithmType;
    key: string;
    publicKey: string;
    validFrom?: Date;
    validTill?: Date;
}
export declare class SignatureConfiguration {
    manual?: CustomSignatureVerification;
    aad?: AadSignatureVerificationConfig;
    jwks?: JwksSignatureVerificationConfig;
    adfsManifest?: AdfsSignatureVerificationConfig;
    certificateTypeChosen: CertificateType;
    constructor(signatureVerificationConfig: SignatureVerificationConfig);
    toSignatureVerificationConfig(): SignatureVerificationConfig;
    getCertificateType(signatureVerificationConfig: SignatureVerificationConfig): CertificateType;
}
declare class CustomSignatureVerification {
    certIdFromField: boolean;
    certIdField: string;
    customCertificates: CustomCertificate[];
    constructor(manual: CustomSignatureVerificationConfig);
    getCustomCertificates(manual: CustomSignatureVerificationConfig): any;
    addCustomCertificate(): void;
    removeCustomCertificate(customCertificate: CustomCertificate): void;
    toManual(): CustomSignatureVerificationConfig;
    getSignatureCertificates(): any;
    getManualSignatureVerificationConfig(): {
        certIdFromField: boolean;
        certIdField: string;
    };
}
export {};
//# sourceMappingURL=signature-configuration.model.d.ts.map