package com.atmob.keyboard_android.util.bridge.api

import com.atmob.keyboard_android.util.bridge.model.base.EmptyResp
import com.atmob.keyboard_android.util.bridge.model.resp.CharacterListResp
import com.atmob.keyboard_android.util.bridge.model.resp.CurrentKeyboardIdResp
import com.atmob.keyboard_android.util.bridge.model.resp.KeyboardListResp
import com.atmob.keyboard_android.util.bridge.model.resp.PrologueListResp

/**
 * 键盘相关的API
 */
interface KeyboardApi {
    /**
     * 获取键盘列表
     */
    fun getKeyboardList(
        onSuccess: (resultObj: KeyboardListResp) -> Unit,
        onFail: (msg: String) -> Unit
    )

    /**
     * 选择键盘
     */
    fun selectedKeyboard(
        keyboardId: String,
        onSuccess: (resultObj: EmptyResp) -> Unit,
        onFail: (msg: String) -> Unit
    )

    /**
     * 获取当前键盘Id
     */
    fun getCurrentKeyboardId(
        onSuccess: (CurrentKeyboardIdResp) -> Unit,
        onFail: (msg: String) -> Unit
    )

    /**
     * 获取人设列表
     */
    fun getCharacterList(
        keyboardId: String,
        onSuccess: (resultObj: CharacterListResp) -> Unit,
        onFail: (msg: String) -> Unit
    )

    /**
     * 获取开场白列表
     */
    fun getPrologueList(
        onSuccess: (resultObj: PrologueListResp) -> Unit,
        onFail: (msg: String) -> Unit
    )
}