/**
 * Program
 */
export function Program(options: any, ...args: any[]): Program;
export class Program {
    /**
     * Program
     */
    constructor(options: any, ...args: any[]);
    options: any;
    input: any;
    output: any;
    truecolor: any;
    zero: boolean | undefined;
    useBuffer: any;
    x: number | undefined;
    y: number | undefined;
    savedX: number | undefined;
    savedY: number | undefined;
    cols: any;
    rows: any;
    scrollTop: number | undefined;
    scrollBottom: number | undefined;
    _terminal: any;
    isOSXTerm: boolean | undefined;
    isiTerm2: boolean | undefined;
    isXFCE: boolean | undefined;
    isTerminator: boolean | undefined;
    isLXDE: boolean | undefined;
    isVTE: boolean | undefined;
    isRxvt: boolean | undefined;
    isXterm: boolean | undefined;
    tmux: boolean | undefined;
    tmuxVersion: number | undefined;
    _buf: string | undefined;
    _flush: (() => void) | undefined;
    __proto__: EventEmitter<any>;
    type: string;
    setupTput(): void;
    _tputSetup: boolean | undefined;
    tput: Tput | undefined;
    put: ((...args: any[]) => any) | undefined;
    setTerminal(terminal: any): void;
    has(name: any): boolean;
    term(is: any): boolean;
    listen(): void;
    _newHandler: ((type: any) => void) | undefined;
    _listenInput(): void;
    _listenOutput(): void;
    destroy(): void;
    _exiting: boolean | undefined;
    destroyed: boolean | undefined;
    key(key: any, listener: any): void;
    onceKey(key: any, listener: any): void;
    unkey: (key: any, listener: any) => void;
    removeKey(key: any, listener: any): void;
    bindMouse(): void;
    _boundMouse: boolean | undefined;
    _bindMouse(s: any, buf: any): void;
    _lastButton: any;
    enableGpm(): void;
    gpm: GpmClient | undefined;
    disableGpm(): void;
    bindResponse(): void;
    _boundResponse: boolean | undefined;
    _bindResponse(s: any): void;
    response(name: any, text: any, callback: any, noBypass: any, ...args: any[]): any;
    _owrite: (text: any) => any;
    write(text: any): any;
    _buffer(text: any): true | undefined;
    flush(): void;
    _write(text: any): any;
    _twrite(data: any): any;
    echo: (text: any, attr: any) => any;
    print(text: any, attr: any): any;
    _ncoords(): void;
    setx(x: any): any;
    sety(y: any): any;
    move(x: any, y: any): any;
    omove(x: any, y: any): void;
    rsetx(x: any): any;
    rsety(y: any): any;
    rmove(x: any, y: any): void;
    simpleInsert(ch: any, i: any, attr: any): any;
    repeat(ch: any, i: any): string;
    copyToClipboard(text: any): boolean;
    cursorShape(shape: any, blink: any): boolean;
    cursorColor(color: any): boolean;
    cursorReset: () => boolean;
    resetCursor(): boolean;
    getTextParams(param: any, callback: any): any;
    getCursorColor(callback: any): any;
    /**
     * Normal
     */
    nul(): any;
    bel: () => any;
    bell(): any;
    vtab(): any;
    ff: () => any;
    form(): any;
    kbs: () => any;
    backspace(): any;
    ht: () => any;
    tab(): any;
    shiftOut(): any;
    shiftIn(): any;
    cr: () => any;
    return(): any;
    nel: () => any;
    newline: () => any;
    feed(): any;
    /**
     * Esc
     */
    ind: () => any;
    index(): any;
    ri: () => any;
    reverse: () => any;
    reverseIndex(): any;
    nextLine(): any;
    reset(): any;
    tabSet(): any;
    sc: (key: any) => any;
    saveCursor(key: any): any;
    rc: (key: any, hide: any) => any;
    restoreCursor(key: any, hide: any): any;
    lsaveCursor(key: any): void;
    _saved: any;
    lrestoreCursor(key: any, hide: any): void;
    lineHeight(): any;
    charset(val: any, level: any): any;
    enter_alt_charset_mode: () => any;
    as: () => any;
    smacs(): any;
    exit_alt_charset_mode: () => any;
    ae: () => any;
    rmacs(): any;
    setG(val: any): any;
    /**
     * OSC
     */
    setTitle(title: any): any;
    _title: any;
    resetColors(param: any): any;
    dynamicColors(param: any): any;
    selData(a: any, b: any): any;
    /**
     * CSI
     */
    cuu: (param: any) => any;
    up: (param: any) => any;
    cursorUp(param: any): any;
    cud: (param: any) => any;
    down: (param: any) => any;
    cursorDown(param: any): any;
    cuf: (param: any) => any;
    right: (param: any) => any;
    forward: (param: any) => any;
    cursorForward(param: any): any;
    cub: (param: any) => any;
    left: (param: any) => any;
    back: (param: any) => any;
    cursorBackward(param: any): any;
    cup: (row: any, col: any) => any;
    pos: (row: any, col: any) => any;
    cursorPos(row: any, col: any): any;
    ed: (param: any) => any;
    eraseInDisplay(param: any): any;
    clear(): any;
    el: (param: any) => any;
    eraseInLine(param: any): any;
    sgr: (param: any, val: any) => any;
    attr: (param: any, val: any) => any;
    charAttributes(param: any, val: any): any;
    text(text: any, attr: any): any;
    style: (param: any, enabled: any) => any;
    _attr(param: any, enabled: any): any;
    fg: (color: any, enabled: any) => any;
    setForeground(color: any, enabled: any): any;
    bg: (color: any, enabled: any) => any;
    setBackground(color: any, enabled: any): any;
    dsr: (param: any, callback: any, dec: any, noBypass: any) => any;
    deviceStatus(param: any, callback: any, dec: any, noBypass: any): any;
    getCursor(callback: any): any;
    saveReportedCursor(callback: any): any;
    restoreReportedCursor(): any;
    /**
     * Additions
     */
    ich: (param: any) => any;
    insertChars(param: any): any;
    cnl: (param: any) => any;
    cursorNextLine(param: any): any;
    cpl: (param: any) => any;
    cursorPrecedingLine(param: any): any;
    cha: (param: any) => any;
    cursorCharAbsolute(param: any): any;
    il: (param: any) => any;
    insertLines(param: any): any;
    dl: (param: any) => any;
    deleteLines(param: any): any;
    dch: (param: any) => any;
    deleteChars(param: any): any;
    ech: (param: any) => any;
    eraseChars(param: any): any;
    hpa: (param: any, ...args: any[]) => any;
    charPosAbsolute(param: any, ...args: any[]): any;
    hpr: (param: any) => any;
    HPositionRelative(param: any): any;
    da: (param: any, callback: any) => any;
    sendDeviceAttributes(param: any, callback: any): any;
    vpa: (param: any, ...args: any[]) => any;
    linePosAbsolute(param: any, ...args: any[]): any;
    vpr: (param: any) => any;
    VPositionRelative(param: any): any;
    hvp: (row: any, col: any) => any;
    HVPosition(row: any, col: any): any;
    sm: (...args: any[]) => any;
    setMode(...args: any[]): any;
    decset(...args: any[]): any;
    dectcem: () => any;
    cnorm: () => any;
    cvvis: () => any;
    showCursor(): any;
    cursorHidden: boolean | undefined;
    alternate: () => any;
    smcup: () => any;
    alternateBuffer(): any;
    isAlt: boolean | undefined;
    rm: (...args: any[]) => any;
    resetMode(...args: any[]): any;
    decrst(...args: any[]): any;
    dectcemh: () => any;
    cursor_invisible: () => any;
    vi: () => any;
    civis: () => any;
    hideCursor(): any;
    rmcup: () => any;
    normalBuffer(): any;
    enableMouse(): void;
    disableMouse(): void;
    setMouse(opt: any, enable: any): void;
    _currentMouse: any;
    mouseEnabled: boolean | undefined;
    decstbm: (top: any, bottom: any) => any;
    csr: (top: any, bottom: any) => any;
    setScrollRegion(top: any, bottom: any): any;
    scA: () => any;
    saveCursorA(): any;
    rcA: () => any;
    restoreCursorA(): any;
    /**
     * Lesser Used
     */
    cht: (param: any) => any;
    cursorForwardTab(param: any): any;
    su: (param: any) => any;
    scrollUp(param: any): any;
    sd: (param: any) => any;
    scrollDown(param: any): any;
    initMouseTracking(...args: any[]): any;
    resetTitleModes(...args: any[]): any;
    cbt: (param: any) => any;
    cursorBackwardTab(param: any): any;
    rep: (param: any) => any;
    repeatPrecedingCharacter(param: any): any;
    tbc: (param: any) => any;
    tabClear(param: any): any;
    mc: (...args: any[]) => any;
    mediaCopy(...args: any[]): any;
    print_screen: () => any;
    ps: () => any;
    mc0(): any;
    prtr_on: () => any;
    po: () => any;
    mc5(): any;
    prtr_off: () => any;
    pf: () => any;
    mc4(): any;
    prtr_non: () => any;
    pO: () => any;
    mc5p(): any;
    setResources(...args: any[]): any;
    disableModifiers(param: any): any;
    setPointerMode(param: any): any;
    decstr: () => any;
    rs2: () => any;
    softReset(): any;
    decrqm: (param: any) => any;
    requestAnsiMode(param: any): any;
    decrqmp: (param: any) => any;
    requestPrivateMode(param: any): any;
    decscl: (...args: any[]) => any;
    setConformanceLevel(...args: any[]): any;
    decll: (param: any) => any;
    loadLEDs(param: any): any;
    decscusr: (param: any) => any;
    setCursorStyle(param: any): any;
    decsca: (param: any) => any;
    setCharProtectionAttr(param: any): any;
    restorePrivateValues(...args: any[]): any;
    deccara: (...args: any[]) => any;
    setAttrInRectangle(...args: any[]): any;
    savePrivateValues(...args: any[]): any;
    manipulateWindow(...args: any[]): any;
    getWindowSize(callback: any): any;
    decrara: (...args: any[]) => any;
    reverseAttrInRectangle(...args: any[]): any;
    setTitleModeFeature(...args: any[]): any;
    decswbv: (param: any) => any;
    setWarningBellVolume(param: any): any;
    decsmbv: (param: any) => any;
    setMarginBellVolume(param: any): any;
    deccra: (...args: any[]) => any;
    copyRectangle(...args: any[]): any;
    decefr: (...args: any[]) => any;
    enableFilterRectangle(...args: any[]): any;
    decreqtparm: (param: any) => any;
    requestParameters(param: any): any;
    decsace: (param: any) => any;
    selectChangeExtent(param: any): any;
    decfra: (...args: any[]) => any;
    fillRectangle(...args: any[]): any;
    decelr: (...args: any[]) => any;
    enableLocatorReporting(...args: any[]): any;
    decera: (...args: any[]) => any;
    eraseRectangle(...args: any[]): any;
    decsle: (...args: any[]) => any;
    setLocatorEvents(...args: any[]): any;
    decsera: (...args: any[]) => any;
    selectiveEraseRectangle(...args: any[]): any;
    decrqlp: (param: any, callback: any) => any;
    req_mouse_pos: (param: any, callback: any) => any;
    reqmp: (param: any, callback: any) => any;
    requestLocatorPosition(param: any, callback: any): any;
    decic: (...args: any[]) => any;
    insertColumns(...args: any[]): any;
    decdc: (...args: any[]) => any;
    deleteColumns(...args: any[]): any;
    out(name: any, ...args: any[]): any;
    ret: boolean | undefined;
    sigtstp(callback: any): void;
    pause(callback: any): () => void;
    _resume: (() => void) | undefined;
    resume(): void;
}
export namespace Program {
    let global: any;
    let total: number;
    let instances: any[];
    function bind(program: any): void;
}
import { EventEmitter } from 'node:events';
import { Tput } from './tput';
import { GpmClient } from './gpmclient';
