import { type AskSpec, type BeingClass, type JsonObject, type Stance } from '../being/index.ts'; import { type ObjectStore } from '../git/index.ts'; import { RegistryFaculty } from './registry.ts'; import type { Terrain } from './terrain.ts'; export declare const CATALOGUE = "catalogue"; export interface Cataloguing { readonly terrain: Terrain; readonly dna: ObjectStore & { collect(keep: Iterable): Promise; }; readonly kit: readonly BeingClass[]; ran(): Promise; stands(kinds: readonly string[]): boolean; kept(): string[]; keep(): Promise; } export declare class Catalogue extends RegistryFaculty { #private; static readonly kind: string; static asks: Record; constructor(stance: Stance); classOf(kind: string): BeingClass | undefined; wake(): Promise; add(args: JsonObject): Promise; remove(args: JsonObject): Promise; live(args: JsonObject): Promise; log(args: JsonObject): Promise; origin(args: JsonObject): JsonObject; fetch(): Promise; gc(): Promise; sources(): Promise; modules(): JsonObject; }