package com.atmob.keyboard_android.keyboard

import android.inputmethodservice.InputMethodService
import android.view.Window
import androidx.lifecycle.LifecycleOwner
import com.atmob.keyboard_android.mvvm.viewmodel.KeyboardViewModel

/**
 * 自定义键盘Service接口，定义对外暴露的API方法
 */
interface ICustomKeyboardService {
    /**
     * 获取自定义键盘的Window
     */
    fun getKeyboardWindow(): Window

    /**
     * 获取键盘ViewModel
     */
    fun getKeyboardViewModel(): KeyboardViewModel

    /**
     * 获取LifecycleOwner
     */
    fun getLifecycleOwner(): LifecycleOwner

    /**
     * 转换为InputMethodService类型返回
     */
    fun asInputMethodService(): InputMethodService
}