/* 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"
#include "nsIBounceTrackingProtection.idl"

/**
 * Helper for syncing remote settings exception list to
 * BounceTrackingProtection.
 */
[scriptable, uuid(06F13674-FB28-4DFC-BF25-342C83705B2F)]
interface nsIBTPRemoteExceptionList : nsISupports {
    /**
     * Initialize the service and import exceptions.
     * Resolves once the initial set of exceptions has been imported.
     */
    Promise init(in nsIBounceTrackingProtection aProtection);

    /**
     * Shutdown the service.
     */
    void shutdown();
};

%{C++
#define NS_NSIBTPEXCEPTIONLISTSERVICE_CONTRACTID "@mozilla.org/btp-remote-exception-list;1"
%}
