import { OnLine } from "../utils/exec.js"; export interface IdfBuildResult { success: boolean; duration_seconds: number; errors: string[]; warnings: string[]; tail: string[]; auto_reconfigured?: boolean; board_rev?: string | null; build_dir?: string | null; } /** * Detect app directories that have REGISTER_APP in their sources but are NOT * listed in the auto-generated app_registry_init.cpp. This means CMake hasn't * seen them yet (file(GLOB) only runs at configure time). */ /** @internal exported for testing */ export declare function detectUnregisteredApps(): string[]; /** @internal exported for testing */ export declare function parseErrors(output: string): string[]; /** @internal exported for testing */ export declare function parseWarnings(output: string): string[]; /** @internal exported for testing */ export declare function getTail(output: string, n: number): string[]; export declare function crosspadIdfBuild(mode: "build" | "fullclean" | "clean", onLine?: OnLine, signal?: AbortSignal, board?: string): Promise;