/*
 * This file is part of smolbote. It's copyrighted by the contributors recorded
 * in the version control history of the file, available from its original
 * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote
 *
 * SPDX-License-Identifier: MIT
 */

#pragma once

class Profile;
class BrowserInterface
{
public:
    virtual ~BrowserInterface() = default;

    // configuration access
    virtual const QStringList configurationOptions() const = 0;
    virtual const QString configuration(const QString &key) const = 0;
    virtual void setConfiguration(const QString &key, const QString &value) = 0;

    // profile access
    virtual const QList<QPair<QString, Profile *>> profileList() const = 0;
    virtual QPair<QString, Profile *> loadProfile(const QString &id, bool isOffTheRecord = true) = 0;
    virtual void removeProfile(const QString &id) = 0;
};