// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.lightsensor;

/// `Calibrator` is responsible for calibrating the raw data that comes from the
/// product-configured light sensor. It is only intended to be used internally.
@discoverable
@available(added=7, deprecated=9, removed=HEAD)
closed protocol Calibrator {
    /// Calibrates the supplied raw [Rgbc] and returns calibrated [Rgbc].
    strict Calibrate(struct {
        data Rgbc;
    }) -> (struct {
        data Rgbc;
    }) error Error;
};
