/* tslint:disable */ /* eslint-disable */ export interface Diagnostic { code: string | null; message: string; tags: DiagnosticTag[]; annotations: DiagnosticAnnotation[]; subDiagnostics: SubDiagnostic[]; start_location: { row: number; column: number; }; end_location: { row: number; column: number; }; fix: { message: string | null; edits: { content: string | null; location: { row: number; column: number; }; end_location: { row: number; column: number; }; }[]; } | null; } export type DiagnosticTag = "unnecessary" | "deprecated"; export interface DiagnosticAnnotation { primary: boolean; message: string | null; location: DiagnosticLocation | null; } export interface SubDiagnostic { severity: SubDiagnosticSeverity; message: string; location: DiagnosticLocation | null; } export enum SubDiagnosticSeverity { Help = "help", Info = "info", Warning = "warning", Error = "error", Fatal = "fatal", } export interface DiagnosticLocation { path: string; start_location: { row: number; column: number; }; end_location: { row: number; column: number; }; } export enum LogLevel { Trace = 0, Debug = 1, Info = 2, Warn = 3, Error = 4, } export enum PositionEncoding { Utf8 = 0, Utf16 = 1, Utf32 = 2, } export class Workspace { free(): void; [Symbol.dispose](): void; check(contents: string): any; comments(contents: string): string; static defaultSettings(): any; format(contents: string): string; format_ir(contents: string): string; constructor(options: any, position_encoding: PositionEncoding); /** * Parses the content and returns its AST */ parse(contents: string): string; tokens(contents: string): string; static version(): string; } /** * Initializes the logger with the given log level. * * ## Panics * If this function is called more than once. */ export function initLogging(level: LogLevel): void; export function run(): void; export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; export interface InitOutput { readonly memory: WebAssembly.Memory; readonly __wbg_workspace_free: (a: number, b: number) => void; readonly initLogging: (a: number) => void; readonly workspace_check: (a: number, b: number, c: number) => [number, number, number]; readonly workspace_comments: (a: number, b: number, c: number) => [number, number, number, number]; readonly workspace_defaultSettings: () => [number, number, number]; readonly workspace_format: (a: number, b: number, c: number) => [number, number, number, number]; readonly workspace_format_ir: (a: number, b: number, c: number) => [number, number, number, number]; readonly workspace_new: (a: any, b: number) => [number, number, number]; readonly workspace_parse: (a: number, b: number, c: number) => [number, number, number, number]; readonly workspace_tokens: (a: number, b: number, c: number) => [number, number, number, number]; readonly workspace_version: () => [number, number]; readonly run: () => void; readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; readonly __wbindgen_exn_store: (a: number) => void; readonly __externref_table_alloc: () => number; readonly __wbindgen_externrefs: WebAssembly.Table; readonly __wbindgen_free: (a: number, b: number, c: number) => void; readonly __externref_table_dealloc: (a: number) => void; readonly __wbindgen_start: () => void; } export type SyncInitInput = BufferSource | WebAssembly.Module; /** * Instantiates the given `module`, which can either be bytes or * a precompiled `WebAssembly.Module`. * * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. * * @returns {InitOutput} */ export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; /** * If `module_or_path` is {RequestInfo} or {URL}, makes a request and * for everything else, calls `WebAssembly.instantiate` directly. * * @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. * * @returns {Promise} */ export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise;