// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// This file was generated by:
//   tools/json_schema_compiler/compiler.py.
// NOTE: The format of types has changed. 'FooType' is now
//   'chrome.usersPrivate.FooType'.
// Please run the closure compiler before committing changes.
// See https://chromium.googlesource.com/chromium/src/+/master/docs/closure_compilation.md

/** @fileoverview Externs generated from namespace: usersPrivate */

/**
 * @const
 */
chrome.usersPrivate = {};

/**
 * @typedef {{
 *   email: string,
 *   displayEmail: string,
 *   name: string,
 *   isOwner: boolean,
 *   isSupervised: boolean,
 *   isChild: boolean
 * }}
 */
chrome.usersPrivate.User;

/**
 * Gets a list of the currently whitelisted users.
 * @param {function(!Array<!chrome.usersPrivate.User>):void} callback
 */
chrome.usersPrivate.getWhitelistedUsers = function(callback) {};

/**
 * Adds a new user with the given email to the whitelist. The callback is called
 * with true if the user was added succesfully, or with false if not (e.g.
 * because the user was already present, or the current user isn't the owner).
 * @param {string} email
 * @param {function(boolean):void} callback
 */
chrome.usersPrivate.addWhitelistedUser = function(email, callback) {};

/**
 * Removes the user with the given email from the whitelist. The callback is
 * called with true if the user was removed succesfully, or with false if not
 * (e.g. because the user was not already present, or the current user isn't the
 * owner).
 * @param {string} email
 * @param {function(boolean):void} callback
 */
chrome.usersPrivate.removeWhitelistedUser = function(email, callback) {};

/**
 * Whether the whitelist is managed by enterprise.
 * @param {function(boolean):void} callback
 */
chrome.usersPrivate.isWhitelistManaged = function(callback) {};

/**
 * Returns the current user.
 * @param {function(!chrome.usersPrivate.User):void} callback
 */
chrome.usersPrivate.getCurrentUser = function(callback) {};
