package net.letime.lecjoa.db;

import java.lang.System;

@kotlin.Metadata(mv = {1, 1, 10}, bv = {1, 0, 2}, k = 1, d1 = {"\u0000N\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010!\n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\n\u0002\u0010 \n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u00a2\u0006\u0002\u0010\u0004J\u0016\u0010\u000f\u001a\u00020\u00102\u0006\u0010\u0011\u001a\u00020\u00122\u0006\u0010\u0013\u001a\u00020\u0012J\u0006\u0010\u0014\u001a\u00020\u0015J\u0010\u0010\u0016\u001a\u0004\u0018\u00010\t2\u0006\u0010\u0017\u001a\u00020\u0018J\f\u0010\u0019\u001a\b\u0012\u0004\u0012\u00020\t0\u001aJ\b\u0010\u001b\u001a\u0004\u0018\u00010\tJ\u000e\u0010\u001c\u001a\u00020\u00102\u0006\u0010\u001d\u001a\u00020\tJ\u000e\u0010\r\u001a\u00020\u00102\u0006\u0010\u0017\u001a\u00020\u0018J\u000e\u0010\u001e\u001a\u00020\u00102\u0006\u0010\u001d\u001a\u00020\u001fR\u000e\u0010\u0005\u001a\u00020\u0006X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0014\u0010\u0007\u001a\b\u0012\u0004\u0012\u00020\t0\bX\u0082\u000e\u00a2\u0006\u0002\n\u0000R \u0010\n\u001a\u0004\u0018\u00010\t8\u0006@\u0006X\u0087\u000e\u00a2\u0006\u000e\n\u0000\u001a\u0004\b\u000b\u0010\f\"\u0004\b\r\u0010\u000e\u00a8\u0006 "}, d2 = {"Lnet/letime/lecjoa/db/AccountManager;", "", "db", "Lnet/letime/lecjoa/db/AppDatabase;", "(Lnet/letime/lecjoa/db/AppDatabase;)V", "accountDao", "Lnet/letime/lecjoa/db/AccountDao;", "accounts", "", "Lnet/letime/lecjoa/db/AccountEntity;", "activeAccount", "getActiveAccount", "()Lnet/letime/lecjoa/db/AccountEntity;", "setActiveAccount", "(Lnet/letime/lecjoa/db/AccountEntity;)V", "addAccount", "", "accessToken", "", "domain", "areNotificationsEnabled", "", "getAccountById", "accountId", "", "getAllAccountsOrderedByActive", "", "logActiveAccountOut", "saveAccount", "account", "updateActiveAccount", "Lnet/letime/lecjoa/entity/Account;", "app_debug"})
public final class AccountManager {
    @org.jetbrains.annotations.Nullable()
    private volatile net.letime.lecjoa.db.AccountEntity activeAccount;
    private java.util.List<net.letime.lecjoa.db.AccountEntity> accounts;
    private final net.letime.lecjoa.db.AccountDao accountDao = null;
    
    @org.jetbrains.annotations.Nullable()
    public final net.letime.lecjoa.db.AccountEntity getActiveAccount() {
        return null;
    }
    
    public final void setActiveAccount(@org.jetbrains.annotations.Nullable()
    net.letime.lecjoa.db.AccountEntity p0) {
    }
    
    /**
     * * Adds a new empty account and makes it the active account.
     *     * More account information has to be added later with [updateActiveAccount]
     *     * or the account wont be saved to the database.
     *     * @param accessToken the access token for the new account
     *     * @param domain the domain of the accounts Mastodon instance
     */
    public final void addAccount(@org.jetbrains.annotations.NotNull()
    java.lang.String accessToken, @org.jetbrains.annotations.NotNull()
    java.lang.String domain) {
    }
    
    /**
     * * Saves an already known account to the database.
     *     * New accounts must be created with [addAccount]
     *     * @param account the account to save
     */
    public final void saveAccount(@org.jetbrains.annotations.NotNull()
    net.letime.lecjoa.db.AccountEntity account) {
    }
    
    /**
     * * Logs the current account out by deleting all data of the account.
     *     * @return the new active account, or null if no other account was found
     */
    @org.jetbrains.annotations.Nullable()
    public final net.letime.lecjoa.db.AccountEntity logActiveAccountOut() {
        return null;
    }
    
    /**
     * * updates the current account with new information from the mastodon api
     *     * and saves it in the database
     *     * @param account the [Account] object returned from the api
     */
    public final void updateActiveAccount(@org.jetbrains.annotations.NotNull()
    net.letime.lecjoa.entity.Account account) {
    }
    
    /**
     * * changes the active account
     *     * @param accountId the database id of the new active account
     */
    public final void setActiveAccount(long accountId) {
    }
    
    /**
     * * @return an immutable list of all accounts in the database with the active account first
     */
    @org.jetbrains.annotations.NotNull()
    public final java.util.List<net.letime.lecjoa.db.AccountEntity> getAllAccountsOrderedByActive() {
        return null;
    }
    
    /**
     * * @return true if at least one account has notifications enabled
     */
    public final boolean areNotificationsEnabled() {
        return false;
    }
    
    /**
     * * Finds an account by its database id
     *     * @param accountId the id of the account
     *     * @return the requested account or null if it was not found
     */
    @org.jetbrains.annotations.Nullable()
    public final net.letime.lecjoa.db.AccountEntity getAccountById(long accountId) {
        return null;
    }
    
    public AccountManager(@org.jetbrains.annotations.NotNull()
    net.letime.lecjoa.db.AppDatabase db) {
        super();
    }
}