// Types for liseuse.js 1.1 (browser SDK, global `Liseuse`) · https://liseuse-pdf.com/docs/sdk-navigateur
declare namespace Liseuse {
  type Outil = "vignettes" | "plein-ecran" | "double-page" | "zoom" | "titre" | "logo" | "recherche";
  interface Options {
    src: string; hauteur?: number | string; ratio?: number | string; chargement?: "immediat" | "differe";
    theme?: "clair" | "sombre" | "auto"; langue?: "fr" | "en"; accent?: string; mode?: "simple" | "double" | "auto"; ajuster?: "largeur" | "page";
    masquer?: Outil[] | string; titre?: string; retour?: string; page?: number;
    onPret?: (e: EvenementPret) => void; onPage?: (e: EvenementPage) => void; onFin?: (e: EvenementFin) => void;
  }
  interface EvenementPret { source: "liseuse"; type: "pret"; pages: number; titre: string }
  interface EvenementPage { source: "liseuse"; type: "page"; page: number; pagesVisibles: number[]; pages: number }
  interface EvenementFin { source: "liseuse"; type: "fin"; pages: number }
  interface Lecteur {
    iframe: HTMLIFrameElement; page?: number; pages?: number;
    on(type: "pret", cb: (e: EvenementPret) => void): Lecteur;
    on(type: "page", cb: (e: EvenementPage) => void): Lecteur;
    on(type: "fin", cb: (e: EvenementFin) => void): Lecteur;
    off(type: "pret" | "page" | "fin", cb: (...a: any[]) => void): Lecteur;
    allerA(page: number): Lecteur; suivante(): Lecteur; precedente(): Lecteur; detruire(): void;
  }
  function integrer(cible: string | Element, options: Options): Lecteur;
  function auto(racine?: ParentNode): void;
  const version: string;
}
