import { TypedEmitter } from "tiny-typed-emitter"; import { ComposanteClientDic } from "./composanteClient.js"; import type { Constellation } from "./client.js"; import type { RecursivePartial, schémaFonctionOublier, schémaFonctionSuivi } from "./types.js"; export declare const TOUS: "TOUS"; export declare const INSTALLÉ: "INSTALL\u00C9"; export declare const AUCUN: "AUCUN"; export declare const résoudreDéfauts: (épingle: RecursivePartial, défauts: T) => T; export type typeDispositifs = string | string[] | typeof TOUS | typeof INSTALLÉ | typeof AUCUN; export type BooléenniserPropriétés = { [clef in keyof T]?: T[clef] extends object ? BooléenniserPropriétés : boolean; }; export type ÉpingleFavoris = ÉpingleVariable | ÉpingleMotClef | ÉpingleBd | ÉpingleNuée | ÉpingleProjet | ÉpingleCompte | ÉpingleProfil; export type BaseÉpingleFavoris = { base: typeDispositifs; }; export type ÉpingleBd = BaseÉpingleFavoris & { type: "bd"; données: { tableaux: typeDispositifs; fichiers: typeDispositifs; }; }; export type ÉpingleNuée = BaseÉpingleFavoris & { type: "nuée"; données: ÉpingleBd; }; export type ÉpingleVariable = BaseÉpingleFavoris & { type: "variable"; }; export type ÉpingleMotClef = BaseÉpingleFavoris & { type: "motClef"; }; export type ÉpingleProjet = BaseÉpingleFavoris & { type: "projet"; bds: ÉpingleBd; }; export type ÉpingleProfil = BaseÉpingleFavoris & { type: "profil"; fichiers: typeDispositifs; }; export type ÉpingleCompte = BaseÉpingleFavoris & { type: "compte"; profil: ÉpingleProfil; favoris: typeDispositifs; }; export type ÉpingleFavorisAvecId = { idObjet: string; épingle: T; }; type structureBdFavoris = { [idObjet: string]: ÉpingleFavoris; }; type ÉvénementsFavoris = { initialisée: (args: { fOublier: schémaFonctionOublier; }) => void; }; export declare class Favoris extends ComposanteClientDic { fOublier?: schémaFonctionOublier; événements: TypedEmitter<ÉvénementsFavoris>; constructor({ client }: { client: Constellation; }); initialiser(): Promise; initialisée(): Promise<{ fOublier: schémaFonctionOublier; }>; suivreRésolutionÉpingle({ épingle, f, ignorer, }: { épingle: ÉpingleFavorisAvecId; f: schémaFonctionSuivi>; ignorer?: Set; }): Promise; suivreFavoris({ f, idCompte, }: { f: schémaFonctionSuivi<ÉpingleFavorisAvecId[]>; idCompte?: string; }): Promise; épinglerFavori({ idObjet, épingle, }: { idObjet: string; épingle: ÉpingleFavoris; }): Promise; désépinglerFavori({ idObjet }: { idObjet: string; }): Promise; suivreÉtatFavori({ idObjet, f, idCompte, }: { idObjet: string; f: schémaFonctionSuivi<ÉpingleFavoris | undefined>; idCompte?: string; }): Promise; suivreEstÉpingléSurDispositif({ idObjet, f, }: { idObjet: string; f: schémaFonctionSuivi | undefined>; }): Promise; résoudreÉpinglesSurDispositif({ épingle, idDispositif, }: { épingle: T; idDispositif?: string; }): Promise>; estÉpingléSurDispositif({ dispositifs, idDispositif, }: { dispositifs: typeDispositifs; idDispositif?: string; }): Promise; fermer(): Promise; } export {};