/* tslint:disable */
/* eslint-disable */
/**
*/
export function init_console_tracing(): void;
/**
*/
export function init_panic_handler(): void;
/**
*/
export class IntoUnderlyingByteSource {
  free(): void;
/**
* @param {ReadableByteStreamController} controller
*/
  start(controller: ReadableByteStreamController): void;
/**
* @param {ReadableByteStreamController} controller
* @returns {Promise<any>}
*/
  pull(controller: ReadableByteStreamController): Promise<any>;
/**
*/
  cancel(): void;
/**
*/
  readonly autoAllocateChunkSize: number;
/**
*/
  readonly type: string;
}
/**
*/
export class IntoUnderlyingSink {
  free(): void;
/**
* @param {any} chunk
* @returns {Promise<any>}
*/
  write(chunk: any): Promise<any>;
/**
* @returns {Promise<any>}
*/
  close(): Promise<any>;
/**
* @param {any} reason
* @returns {Promise<any>}
*/
  abort(reason: any): Promise<any>;
}
/**
*/
export class IntoUnderlyingSource {
  free(): void;
/**
* @param {ReadableStreamDefaultController} controller
* @returns {Promise<any>}
*/
  pull(controller: ReadableStreamDefaultController): Promise<any>;
/**
*/
  cancel(): void;
}
/**
*/
export class WasmMaterializedColumn {
  free(): void;
/**
* @returns {number}
*/
  len(): number;
/**
* @returns {boolean}
*/
  is_empty(): boolean;
/**
* @param {number} row_idx
* @returns {string | undefined}
*/
  value_as_string(row_idx: number): string | undefined;
}
/**
*/
export class WasmMaterializedResultTable {
  free(): void;
/**
* @returns {(string)[]}
*/
  column_names(): (string)[];
/**
* @returns {number}
*/
  num_rows(): number;
/**
* @param {string} column
* @returns {WasmMaterializedColumn}
*/
  column(column: string): WasmMaterializedColumn;
/**
* @param {number} col
* @param {number} row
* @returns {string}
*/
  format_cell(col: number, row: number): string;
}
/**
* Wrapper around result tables.
*
* This intermediate type is needed since wasm_bindgen can't generate the
* appropriate type for `Result<Vec<T>, E>`, otherwise we'd just return these
* tables directly.
*/
export class WasmMaterializedResultTables {
  free(): void;
/**
* @returns {(WasmMaterializedResultTable)[]}
*/
  get_tables(): (WasmMaterializedResultTable)[];
/**
* @returns {number}
*/
  len(): number;
/**
* @returns {boolean}
*/
  is_empty(): boolean;
}
/**
*/
export class WasmSession {
  free(): void;
/**
* @returns {WasmSession}
*/
  static try_new(): WasmSession;
/**
* @param {string} sql
* @returns {Promise<WasmMaterializedResultTables>}
*/
  query(sql: string): Promise<WasmMaterializedResultTables>;
/**
* @param {string} name
* @param {Uint8Array} content
*/
  register_file(name: string, content: Uint8Array): void;
/**
* Return a list of registered file names.
*
* Names will be sorted alphabetically.
* @returns {(string)[]}
*/
  list_local_files(): (string)[];
/**
* @param {string} connection_string
* @returns {Promise<void>}
*/
  connect_hybrid(connection_string: string): Promise<void>;
/**
* @returns {string}
*/
  version(): string;
}
/**
* Wrapper around a database session and the engine that created it.
*
* This is expected to be instantiated on the javascript side.
*/
export class WasmShell {
  free(): void;
/**
* Create a new shell that writes its output to the provided terminal.
* @param {any} terminal
* @returns {WasmShell}
*/
  static try_new(terminal: any): WasmShell;
/**
* Notify on terminal resize.
* @param {number} cols
*/
  on_resize(cols: number): void;
/**
* Consume a string verbatim.
*
* This should be hooked up to xterm's `onData` method to enable pasting.
* @param {string} text
*/
  on_data(text: string): void;
/**
* Consume a keyboard event.
*
* This should be hooked up to xterm's `attachCustomKeyEventHandler`. This
* will handle _all_ input, so `false` should be returned to xterm after
* calling this for an event.
* @param {KeyboardEvent} event
*/
  on_key(event: KeyboardEvent): void;
}
