///
import { DirtyEnvConfig } from './validation';
export declare const RACComparison: readonly ["exact", "minimum", "maximum", "better"];
export declare type RACComparison = typeof RACComparison[number];
/**
* Typed Env Config for SSO config
*/
interface SsoEnvConfig {
DASHLANE_SSO_CONNECTOR_ENDPOINT: URL;
DASHLANE_SSO_CONNECTOR_KEY: {
uuid: string;
key: Buffer;
};
DASHLANE_SSO_SAML_IDP_CERTIFICATE: string;
DASHLANE_SSO_SAML_IDP_ENTRYPOINT: string;
DASHLANE_SSO_SAML_FORCEAUTHN: boolean;
DASHLANE_SSO_SAML_DISABLE_NAMEID: boolean;
DASHLANE_SSO_SAML_RAC_COMPARISON: RACComparison;
DASHLANE_SSO_SAML_REQUESTED_AUTHN_CONTEXTS: string[];
}
export interface SsoConfig {
hostname: string;
saml: {
idpCertificate: string;
idpEntrypoint: string;
forceAuthn: boolean;
enableNameIDCheck: boolean;
racComparison: RACComparison;
requestedAuthnContexts: string[];
};
masterServiceProviderKey: {
key: Buffer;
uuid: string;
};
}
/**
* Check whether this config contains an SSO configuration.
* It simply checks for the presence of one of the mandatory SSO configuration keys (DASHLANE_SSO_CONNECTOR_KEY)
*/
export declare const hasSsoConfig: (env: DirtyEnvConfig) => boolean;
export declare const parseSsoConfig: (dirtyEnv: Partial>) => import("./validation").ValidationErrors | SsoConfig;
export {};