38    std::optional<std::tuple<OutputConfiguration, QList<Output *>, 
ConfigType>> 
queryConfig(
const QList<Output *> &outputs, 
bool isLidClosed, QOrientationReading *orientation, 
bool isTabletMode);
 
   45    void applyOrientationReading(
OutputConfiguration &config, 
const QList<Output *> &outputs, QOrientationReading *orientation, 
bool isTabletMode);
 
   46    std::optional<std::pair<OutputConfiguration, QList<Output *>>> generateLidClosedConfig(
const QList<Output *> &outputs);
 
   47    std::pair<OutputConfiguration, QList<Output *>> generateConfig(
const QList<Output *> &outputs, 
bool isLidClosed);
 
   48    std::shared_ptr<OutputMode> chooseMode(
Output *output) 
const;
 
   50    double targetDpi(
Output *output) 
const;
 
   62        std::optional<QString> edidIdentifier;
 
   63        std::optional<QString> connectorName;
 
   68        std::optional<ModeData> mode;
 
   69        std::optional<double> scale;
 
   70        std::optional<OutputTransform> transform;
 
   71        std::optional<OutputTransform> manualTransform;
 
   72        std::optional<uint32_t> overscan;
 
   73        std::optional<Output::RgbRange> rgbRange;
 
   74        std::optional<VrrPolicy> vrrPolicy;
 
   75        std::optional<bool> highDynamicRange;
 
   76        std::optional<uint32_t> sdrBrightness;
 
   77        std::optional<bool> wideColorGamut;
 
   78        std::optional<Output::AutoRotationPolicy> autoRotation;
 
   79        std::optional<QString> iccProfilePath;
 
   80        std::optional<double> maxPeakBrightnessOverride;
 
   81        std::optional<double> maxAverageBrightnessOverride;
 
   82        std::optional<double> minBrightnessOverride;
 
   83        std::optional<double> sdrGamutWideness;
 
   94        bool lidClosed = 
false;
 
   95        QList<SetupState> outputs;
 
   98    std::pair<OutputConfiguration, QList<Output *>> setupToConfig(Setup *setup, 
const std::unordered_map<Output *, size_t> &outputMap) 
const;
 
   99    std::optional<std::pair<Setup *, std::unordered_map<Output *, size_t>>> findSetup(
const QList<Output *> &outputs, 
bool lidClosed);
 
  100    std::optional<size_t> findOutput(Output *output, 
const QList<Output *> &allOutputs) 
const;
 
  102    QList<OutputState> m_outputs;
 
  103    QList<Setup> m_setups;