import { DataCrawler } from '../core/Crawler';
export type Mentor = Partial<Record<'name' | 'avatar' | 'position' | 'summary', string>>;
export type Duration = Partial<Record<'startTime' | 'endTime', string>>;
export type Forum = Duration & Pick<Mentor, 'name' | 'summary'>;
export interface Agenda extends Duration, Pick<Forum, 'summary'> {
    title?: string;
    mentor?: Mentor;
    forum?: Forum;
}
export declare abstract class AgendaCrawler<A extends Agenda = Agenda, M extends Mentor = Mentor, F extends Forum = Forum> extends DataCrawler<A> {
    mentors: M[];
    forums: F[];
    makeYAML(agendas: A[]): string;
    makeCSV(agendas: A[]): {
        mentors: M[];
        forums: F[];
        agendas: (Omit<A, "mentor" | "forum"> & {
            mentor: string;
            forum: string;
        })[];
    };
    saveCSV(agendas: A[], folder: string): Promise<void>;
    saveImagesTo(folder: string): Promise<void>;
    saveList(URI: string): Promise<{
        list: A[];
        folder: string;
        file: string;
    }>;
}
