// Copyright 2016 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.

// https://beverloo.github.io/budget-api/#budget-service-interface
// TODO(harkness): Link WICG spec when it exists.

enum OperationType {
    "silent-push"
};

[
    RuntimeEnabled=Budget
] interface BudgetService {
    [CallWith=ScriptState] Promise<double> getCost(OperationType operation);
    [CallWith=ScriptState] Promise<FrozenArray<BudgetState>> getBudget();
    [CallWith=ScriptState] Promise<boolean> reserve(OperationType operation);
};
