| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 | /*! firebase-admin v12.1.1 *//*! * Copyright 2019 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *   http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */import { EmailSignInConfigServerRequest, MultiFactorAuthServerConfig, MultiFactorConfig, EmailSignInProviderConfig, SmsRegionConfig, RecaptchaConfig, PasswordPolicyConfig, PasswordPolicyAuthServerConfig, EmailPrivacyConfig } from './auth-config';/** * Interface representing the properties to update on the provided tenant. */export interface UpdateTenantRequest {    /**     * The tenant display name.     */    displayName?: string;    /**     * The email sign in configuration.     */    emailSignInConfig?: EmailSignInProviderConfig;    /**     * Whether the anonymous provider is enabled.     */    anonymousSignInEnabled?: boolean;    /**     * The multi-factor auth configuration to update on the tenant.     */    multiFactorConfig?: MultiFactorConfig;    /**     * The updated map containing the test phone number / code pairs for the tenant.     * Passing null clears the previously save phone number / code pairs.     */    testPhoneNumbers?: {        [phoneNumber: string]: string;    } | null;    /**     * The SMS configuration to update on the project.     */    smsRegionConfig?: SmsRegionConfig;    /**     * The reCAPTCHA configuration to update on the tenant.     * By enabling reCAPTCHA Enterprise integration, you are     * agreeing to the reCAPTCHA Enterprise     * {@link https://cloud.google.com/terms/service-terms | Term of Service}.     */    recaptchaConfig?: RecaptchaConfig;    /**     * The password policy configuration for the tenant     */    passwordPolicyConfig?: PasswordPolicyConfig;    /**     * The email privacy configuration for the tenant     */    emailPrivacyConfig?: EmailPrivacyConfig;}/** * Interface representing the properties to set on a new tenant. */export type CreateTenantRequest = UpdateTenantRequest;/** The corresponding server side representation of a TenantOptions object. */export interface TenantOptionsServerRequest extends EmailSignInConfigServerRequest {    displayName?: string;    enableAnonymousUser?: boolean;    mfaConfig?: MultiFactorAuthServerConfig;    testPhoneNumbers?: {        [key: string]: string;    };    smsRegionConfig?: SmsRegionConfig;    recaptchaConfig?: RecaptchaConfig;    passwordPolicyConfig?: PasswordPolicyAuthServerConfig;    emailPrivacyConfig?: EmailPrivacyConfig;}/** The tenant server response interface. */export interface TenantServerResponse {    name: string;    displayName?: string;    allowPasswordSignup?: boolean;    enableEmailLinkSignin?: boolean;    enableAnonymousUser?: boolean;    mfaConfig?: MultiFactorAuthServerConfig;    testPhoneNumbers?: {        [key: string]: string;    };    smsRegionConfig?: SmsRegionConfig;    recaptchaConfig?: RecaptchaConfig;    passwordPolicyConfig?: PasswordPolicyAuthServerConfig;    emailPrivacyConfig?: EmailPrivacyConfig;}/** * Represents a tenant configuration. * * Multi-tenancy support requires Google Cloud's Identity Platform * (GCIP). To learn more about GCIP, including pricing and features, * see the {@link https://cloud.google.com/identity-platform | GCIP documentation}. * * Before multi-tenancy can be used on a Google Cloud Identity Platform project, * tenants must be allowed on that project via the Cloud Console UI. * * A tenant configuration provides information such as the display name, tenant * identifier and email authentication configuration. * For OIDC/SAML provider configuration management, `TenantAwareAuth` instances should * be used instead of a `Tenant` to retrieve the list of configured IdPs on a tenant. * When configuring these providers, note that tenants will inherit * whitelisted domains and authenticated redirect URIs of their parent project. * * All other settings of a tenant will also be inherited. These will need to be managed * from the Cloud Console UI. */export declare class Tenant {    /**     * The tenant identifier.     */    readonly tenantId: string;    /**     * The tenant display name.     */    readonly displayName?: string;    readonly anonymousSignInEnabled: boolean;    /**     * The map containing the test phone number / code pairs for the tenant.     */    readonly testPhoneNumbers?: {        [phoneNumber: string]: string;    };    private readonly emailSignInConfig_?;    private readonly multiFactorConfig_?;    /**     * The map conatining the reCAPTCHA config.     * By enabling reCAPTCHA Enterprise Integration you are     * agreeing to reCAPTCHA Enterprise     * {@link https://cloud.google.com/terms/service-terms | Term of Service}.     */    private readonly recaptchaConfig_?;    /**     * The SMS Regions Config to update a tenant.     * Configures the regions where users are allowed to send verification SMS.     * This is based on the calling code of the destination phone number.     */    readonly smsRegionConfig?: SmsRegionConfig;    /**     * The password policy configuration for the tenant     */    readonly passwordPolicyConfig?: PasswordPolicyConfig;    /**     * The email privacy configuration for the tenant     */    readonly emailPrivacyConfig?: EmailPrivacyConfig;    /**     * Validates a tenant options object. Throws an error on failure.     *     * @param request - The tenant options object to validate.     * @param createRequest - Whether this is a create request.     */    private static validate;    /**     * The email sign in provider configuration.     */    get emailSignInConfig(): EmailSignInProviderConfig | undefined;    /**     * The multi-factor auth configuration on the current tenant.     */    get multiFactorConfig(): MultiFactorConfig | undefined;    /**     * The recaptcha config auth configuration of the current tenant.     */    get recaptchaConfig(): RecaptchaConfig | undefined;    /**     * Returns a JSON-serializable representation of this object.     *     * @returns A JSON-serializable representation of this object.     */    toJSON(): object;}
 |