/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"

webidl BrowsingContext;

[scriptable, uuid(936007db-a957-4f1d-a23d-f7d9403223e6)]
interface nsIIdentityCredentialPromptService : nsISupports {
    // Display to the user an interface to choose from among the identity providers listed
    // Resolves with an index referring to one pair of the elements of the lists.
    Promise showProviderPrompt(in BrowsingContext browsingContext, in jsval identityProviders, in jsval identityManifests);
    // Display to the user an interface to choose from among the accounts listed with the information of the provider.
    // Resolves with an index referring to one of the elements of the list.
    Promise showAccountListPrompt(in BrowsingContext browsingContext, in jsval accountList, in jsval identityProvider, in jsval identityManifest);
    // Close all UI from the other methods of this module
    void close(in BrowsingContext browsingContext);
};
