import { BaseApi } from './Base'; import { Promisify } from './types'; import { AsyncTabpage } from './Tabpage'; import { AsyncBuffer } from './Buffer'; export declare class Window extends BaseApi { prefix: string; /** * The windowid that not change within a Vim session */ get id(): number; /** Get current buffer of window */ get buffer(): AsyncBuffer; /** Get the Tabpage that contains the window */ get tabpage(): AsyncTabpage; /** Get cursor position */ get cursor(): [number, number] | Promise<[number, number]>; /** Set cursor position */ set cursor(pos: [number, number] | Promise<[number, number]>); /** Get window height by number of rows */ get height(): number | Promise; /** Set window height by number of rows */ set height(height: number | Promise); /** Get window width by number of columns */ get width(): number | Promise; /** Set window width by number of columns */ set width(width: number | Promise); /** Get window position */ get position(): Promise<[number, number]>; /** 0-indexed, on-screen window position(row) in display cells. */ get row(): Promise; /** 0-indexed, on-screen window position(col) in display cells. */ get col(): Promise; /** Is window valid */ get valid(): Promise; /** Get window number */ get number(): Promise; /** * Closes window * * @param {Boolean} force Force close window */ close(force?: boolean): Promise; /** * Configure window position. Currently this is only used to * configure floating and external windows (including changing a * split window to these types). * * See documentation at |nvim_open_win()|, for the meaning of * parameters. Pass in -1 for 'width' and 'height' to keep * exiting size. * * When reconfiguring a floating window, absent option keys will * not be changed. The following restriction apply: `row`, `col` * and `relative` must be reconfigured together. Only changing a * subset of these is an error. * * @param {Window} window Window handle * @Param {Object} options Options object */ config(options?: object): Promise; } export interface AsyncWindow extends Promisify, Promise { }