text: import firebase from '@firebase/app-compat';
  import { Component } from '@firebase/component';
  import { activate, ensureInitialized, fetchConfig, fetchAndActivate, getAll, getBoolean, getNumber, getString, getValue, setLogLevel, isSupported } from '@firebase/remote-config';
  
  /**
   * @license
   * Copyright 2020 Google LLC
   *
   * 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.
   */
  class RemoteConfigCompatImpl {
      constructor(app, _delegate) {
          this.app = app;
          this._delegate = _delegate;
      }
      get defaultConfig() {
          return this._delegate.defaultConfig;
      }
      set defaultConfig(value) {
          this._delegate.defaultConfig = value;
      }
      get fetchTimeMillis() {
          return this._delegate.fetchTimeMillis;
      }
      get lastFetchStatus() {
          return this._delegate.lastFetchStatus;
      }
      get settings() {
          return this._delegate.settings;
      }
      set settings(value) {
          this._delegate.settings = value;
      }
      activate() {
          return activate(this._delegate);
      }
      ensureInitialized() {
          return ensureInitialized(this._delegate);
      }
      /**
       * @throws a {@link ErrorCode.FETCH_CLIENT_TIMEOUT} if the request takes longer than
       * {@link Settings.fetchTimeoutInSeconds} or
       * {@link DEFAULT_FETCH_TIMEOUT_SECONDS}.
       */
      fetch() {
          return fetchConfig(this._delegate);
      }
      fetchAndActivate() {
          return fetchAndActivate(this._delegate);
      }
      getAll() {
          return getAll(this._delegate);
      }
      getBoolean(key) {
          return getBoolean(this._delegate, key);
      }
      getNumber(key) {
          return getNumber(this._delegate, key);
      }
      getString(key) {
          return getString(this._delegate, key);
      }
      getValue(key) {
          return getValue(this._delegate, key);
      }
      // Based on packages/firestore/src/util/log.ts but not static because we need per-instance levels
      // to differentiate 2p and 3p use-cases.
      setLogLevel(logLevel) {
          setLogLevel(this._delegate, logLevel);
      }
  }
  
  const name = "@firebase/remote-config-compat";
  const version = "0.1.2";
  
  /**
   * @license
   * Copyright 2020 Google LLC
   *
   * 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.
   */
  function registerRemoteConfigCompat(firebaseInstance) {
      firebaseInstance.INTERNAL.registerComponent(new Component('remoteConfig-compat', remoteConfigFactory, "PUBLIC" /* PUBLIC */)
          .setMultipleInstances(true)
          .setServiceProps({ isSupported }));
      firebaseInstance.registerVersion(name, version);
  }
  function remoteConfigFactory(container, { instanceIdentifier: namespace }) {
      const app = container.getProvider('app-compat').getImmediate();
      // The following call will always succeed because rc `import {...} from '@firebase/remote-config'`
      const remoteConfig = container.getProvider('remote-config').getImmediate({
          identifier: namespace
      });
      return new RemoteConfigCompatImpl(app, remoteConfig);
  }
  registerRemoteConfigCompat(firebase);
  //# sourceMappingURL=index.esm2017.js.map
  