import { HtmlRR0Context } from "../RR0Context.js"; import { DirectoryStep, FileWriteConfig, OutputFunc } from "ssg-api"; import { PeopleHtmlRenderer } from "./PeopleHtmlRenderer.js"; import { CountryCode, Occupation, People, PeopleService } from "@rr0/data"; export type PeopleFilter = (p: People) => boolean; export declare function peopleOccupationFilter(filterOccupations: Occupation[]): PeopleFilter; /** * Scan directories for people information, then populates a template with collected data. */ export declare class PeopleDirectoryStep extends DirectoryStep { protected outputFunc: OutputFunc; protected service: PeopleService; protected renderer: PeopleHtmlRenderer; protected filter: PeopleFilter; constructor(name: string, rootDirs: string[], excludedDirs: string[], templateFileName: string, outputFunc: OutputFunc, config: FileWriteConfig, service: PeopleService, renderer: PeopleHtmlRenderer, filter?: PeopleFilter); protected processDirs(context: HtmlRR0Context, dirNames: string[]): Promise; /** * An extra directory entry for another name the same people is known by (a pseudonym, a surname), pointing at that * same people's page. */ protected alsoKnownAs(people: People, name: string): People; protected toList(context: HtmlRR0Context, peopleList: People[], pseudoPeopleList: People[], allCountries: Set, occupations: Set): HTMLUListElement; protected toListItem(context: HtmlRR0Context, people: People, pseudoPeopleList: People[], allCountries: Set, occupations: Set): HTMLLIElement; }