import { type OrbitDB } from "@orbitdb/core"; import { TypedSet } from "@constl/bohr-db"; import { TypedEmitter } from "tiny-typed-emitter"; import { GestionnaireOrbite } from "../orbite.js"; import { ContrôleurConstellation as générerContrôleurConstellation } from "./cntrlConstellation.js"; import type { schémaFonctionOublier, schémaFonctionSuivi } from "../types.js"; import type { objRôles, élémentBdAccès } from "./types.js"; type ContrôleurConstellation = Awaited>>; export declare const suivreBdAccès: (bd: TypedSet<élémentBdAccès>, f: schémaFonctionSuivi<élémentBdAccès[]>) => Promise; type ÉvénementsAccèsUtilisateur = { initialisé: (args: { accès: ContrôleurConstellation; }) => void; }; declare class AccèsUtilisateur { orbite: GestionnaireOrbite; idBd: string; accès?: ContrôleurConstellation; fOublierBd?: schémaFonctionOublier; oublierSuivi?: schémaFonctionOublier; signaleurArrêt: AbortController; événements: TypedEmitter<ÉvénementsAccèsUtilisateur>; constructor(orbite: OrbitDB, idBd: string); initialiser(): Promise; initialisé(): Promise<{ accès: ContrôleurConstellation; }>; suivreAccès({ f, }: { f: schémaFonctionSuivi<{ autorisés: string[]; }>; }): Promise; fermer(): Promise; } export declare class GestionnaireAccès extends TypedEmitter<{ misÀJour: () => void; }> { _rôles: objRôles; _rôlesIdOrbite: objRôles; _rôlesUtilisateurs: { [idCompte: string]: string[]; }; _accèsUtilisateur: { [idCompte: string]: { accès: AccèsUtilisateur; rôles: Set; }; }; fsOublier: schémaFonctionOublier[]; _miseÀJourEnCours: boolean; orbite: OrbitDB; constructor(orbite: OrbitDB); àJour(): Promise; estUnMembre(id: string): Promise; estUnModérateur(id: string): Promise; estAutorisé(id: string): Promise; ajouterÉléments(éléments: élémentBdAccès[]): Promise; _mettreRôlesÀJour(): void; fermer(): Promise; } export {};