// Copyright 2014 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 is autogenerated by:
//     mojo/public/tools/bindings/mojom_bindings_generator.py
// For:
//     mojom/vanadium/discovery.mojom
//

package io.v.mojo.discovery;

public interface Closer extends org.chromium.mojo.bindings.Interface {

    public interface Proxy extends Closer, org.chromium.mojo.bindings.Interface.Proxy {
    }

    Manager<Closer, Closer.Proxy> MANAGER = Closer_Internal.MANAGER;

    void close(CloseResponse callback);
    interface CloseResponse extends org.chromium.mojo.bindings.Callbacks.Callback0 { }
}

