def __init__(self, vim: Nvim) -> None:
    self._vim = vim
    self._denite: typing.Optional[SyncParent] = None
    self._selected_candidates: typing.List[int] = []
    self._candidates: Candidates = []
    self._cursor = 0
    self._entire_len = 0
    self._result: typing.List[typing.Any] = []
    self._context: UserContext = {}
    self._bufnr = (- 1)
    self._winid = (- 1)
    self._winrestcmd = ''
    self._initialized = False
    self._winheight = 0
    self._winwidth = 0
    self._winminheight = (- 1)
    self._is_multi = False
    self._is_async = False
    self._matched_pattern = ''
    self._displayed_texts: typing.List[str] = []
    self._statusline_sources = ''
    self._titlestring = ''
    self._ruler = False
    self._prev_action = ''
    self._prev_status: typing.Dict[(str, typing.Any)] = {}
    self._prev_curpos: typing.List[typing.Any] = []
    self._save_window_options: typing.Dict[(str, typing.Any)] = {}
    self._sources_history: typing.List[typing.Any] = []
    self._previous_text = ''
    self._floating = False
    self._filter_floating = False
    self._updated = False
    self._timers: typing.Dict[(str, int)] = {}
    self._matched_range_id = (- 1)
    self._matched_char_id = (- 1)
    self._check_matchdelete = bool(self._vim.call('denite#util#check_matchdelete'))
def __init__(self, vim: Nvim) -> None:
    self._vim = vim
    self._denite: typing.Optional[SyncParent] = None
    self._selected_candidates: typing.List[int] = []
    self._candidates: Candidates = []
    self._cursor = 0
    self._entire_len = 0
    self._result: typing.List[typing.Any] = []
    self._context: UserContext = {}
    self._bufnr = (- 1)
    self._winid = (- 1)
    self._winrestcmd = 
    self._initialized = False
    self._winheight = 0
    self._winwidth = 0
    self._winminheight = (- 1)
    self._is_multi = False
    self._is_async = False
    self._matched_pattern = 
    self._displayed_texts: typing.List[str] = []
    self._statusline_sources = 
    self._titlestring = 
    self._ruler = False
    self._prev_action = 
    self._prev_status: typing.Dict[(str, typing.Any)] = {}
    self._prev_curpos: typing.List[typing.Any] = []
    self._save_window_options: typing.Dict[(str, typing.Any)] = {}
    self._sources_history: typing.List[typing.Any] = []
    self._previous_text = 
    self._floating = False
    self._filter_floating = False
    self._updated = False
    self._timers: typing.Dict[(str, int)] = {}
    self._matched_range_id = (- 1)
    self._matched_char_id = (- 1)
    self._check_matchdelete = bool(self._vim.call('denite#util#check_matchdelete'))