declare module "@novnc/novnc" {
  export interface RFBOptions {
    credentials?: {
      password?: string
      username?: string
      target?: string
    }
    wsProtocols?: string[]
  }

  export default class RFB extends EventTarget {
    constructor(target: HTMLElement, url: string, options?: RFBOptions)

    scaleViewport: boolean
    resizeSession: boolean
    viewOnly: boolean
    qualityLevel: number
    compressionLevel: number
    showDotCursor: boolean

    disconnect(): void
    sendCtrlAltDel(): void
    focus(): void
    clipboardPasteFrom(text: string): void
  }
}
