import type { ClassDojoAdapter, ClassRef, StudentNameFormat } from "./roster.js"; import { type SkillCategory, type SkillRule, type SkillRulesAdapter } from "./skills.js"; export type DoctorResult = { status: "ready"; classCount: number; classes: string[]; } | { status: "not_ready"; error: string; hint: string; }; export type ClassDojoUiState = "ready" | "add_students" | "family_invite" | "welcome_message" | "student_account_consent"; export interface ClassDojoBrowserAdapter extends ClassDojoAdapter, SkillRulesAdapter { listClasses(): Promise; doctor(): Promise; getUiState(classId: string): Promise; } export declare function parseSkillTile(input: { category: SkillCategory; label: string | null; text: string; iconSrc: string | null; }): SkillRule | null; export declare function parseSkillTiles(category: SkillCategory, tiles: Array<{ label: string | null; text: string; iconSrc: string | null; }>): SkillRule[]; export declare function formatSkillPoints(points: number): string; export declare class AsyncOperationQueue { private tail; run(operation: () => Promise): Promise; } export declare function chooseStudentImportStrategy(studentNameFormat: StudentNameFormat): "individual" | "copy_paste"; export declare function detectClassDojoUiState(text: string): ClassDojoUiState; export declare function parseRosterText(text: string): string[]; export declare class CdpClassDojoAdapter implements ClassDojoBrowserAdapter { private readonly cdpUrl; private browserPromise; private readonly operations; constructor(cdpUrl?: string); listClasses(): Promise; getRoster(classId: string): Promise; getUiState(classId: string): Promise; getSkills(classId: string): Promise; replaceSkills(classId: string, expectedSkills: SkillRule[], desiredSkills: SkillRule[]): Promise; pasteStudents(input: { classId: string; students: string[]; studentNameFormat: StudentNameFormat; }): Promise; doctor(): Promise; private getBrowser; private getPage; private gotoClass; private gotoSkillsEditor; private selectSkillCategory; private readSkills; private findSkillTile; private setSkillDialogValues; private editSkill; private addSkill; private deleteSkills; }