// TypeScript bindings for emscripten-generated code.  Automatically generated at compile time.
interface WasmModule {
}

type EmbindString = ArrayBuffer|Uint8Array|Uint8ClampedArray|Int8Array|string;
export interface ClassHandle {
  isAliasOf(other: ClassHandle): boolean;
  delete(): void;
  deleteLater(): this;
  isDeleted(): boolean;
  // @ts-ignore - If targeting lower than ESNext, this symbol might not exist.
  [Symbol.dispose](): void;
  clone(): this;
}
export interface Validator extends ClassHandle {
  readonly error: string | undefined;
}

export interface Optimizer extends ClassHandle {
  readonly result: string;
}

export interface Minifier extends ClassHandle {
  readonly result: string | undefined;
}

interface EmbindModule {
  Validator: {
    new(_0: number, _1: EmbindString): Validator;
    initialize(): void;
    finalize(): void;
  };
  Optimizer: {
    new(_0: number, _1: EmbindString): Optimizer;
  };
  Minifier: {
    new(_0: EmbindString): Minifier;
  };
}

export type MainModule = WasmModule & EmbindModule;
export default function MainModuleFactory (options?: unknown): Promise<MainModule>;
