import { type ResidentCheckWatchChange } from "../../compiler/internal/runBuild";
import { type WatchInputChange } from "./watchTopology";
/**
 * CLI entry point for `ttsc`. Dispatches argv to the appropriate build lane
 * (build, check, fix, format, prepare, clean, or native-delegate) and returns
 * an exit code. Errors thrown by any lane are caught here and written to stderr
 * so the process can exit cleanly.
 *
 * @param argv - Command-line arguments (defaults to `process.argv.slice(2)`).
 * @returns The exit code: `0` on success, `1` on binary-not-found, `2` on user
 *   error or build failure.
 */
export declare function runTtsc(argv?: readonly string[]): number;
/**
 * Coalesces filesystem events until the next resident check-watch cycle.
 *
 * A full reload dominates every narrower signal. Program invalidation remains
 * distinct so a project-input module creation/deletion can cold-load the
 * Program without discarding the selected execution or restarting the sidecar.
 */
export declare class PendingResidentCheckWatchChanges {
    private readonly changed;
    private readonly external;
    private invalidate;
    private reload;
    push(change?: WatchInputChange, reload?: boolean): void;
    take(): ResidentCheckWatchChange;
}
