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; 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; }