import { SceauCaseSummary } from "./SceauCaseSummary.js";
import { AbstractDatasource } from "../AbstractDatasource.js";
import { HtmlRR0Context, RR0Context } from "../../../RR0Context.js";
import { ContextFilter } from "../ContextFilter.js";
type SceauCaseMapping = {
    [key in keyof SceauCaseSummary]: string;
};
export type FondMapping = {
    path: string;
    mapping: SceauCaseMapping;
};
export declare class SceauContextFilter extends ContextFilter<SceauCaseSummary> {
    constructor(context: RR0Context);
    filter(c: SceauCaseSummary): boolean;
}
export declare abstract class SceauDatasource extends AbstractDatasource<SceauCaseSummary> {
    readonly pages: FondMapping[];
    protected constructor(pages?: FondMapping[], authors?: string[], copyright?: string);
    protected createFilter(context: HtmlRR0Context): SceauContextFilter;
    protected abstract readCases(context: RR0Context): Promise<SceauCaseSummary[]>;
}
export {};
