/// import { AstroCheck } from '@astrojs/language-server'; import fs from 'node:fs'; import type { Arguments as Flags } from 'yargs-parser'; import type { AstroSettings } from '../../@types/astro'; import type { LogOptions } from '../../core/logger/core.js'; import type { ProcessExit, SyncOptions } from '../../core/sync'; export type CheckPayload = { /** * Flags passed via CLI */ flags: Flags; /** * Logging options */ logging: LogOptions; }; /** * * Types of response emitted by the checker */ export declare enum CheckResult { /** * Operation finished without errors */ ExitWithSuccess = 0, /** * Operation finished with errors */ ExitWithError = 1, /** * The consumer should not terminate the operation */ Listen = 2 } /** * Checks `.astro` files for possible errors. * * If the `--watch` flag is provided, the command runs indefinitely and provides diagnostics * when `.astro` files are modified. * * Every time an astro files is modified, content collections are also generated. * * @param {CheckPayload} options Options passed {@link AstroChecker} * @param {Flags} options.flags Flags coming from the CLI * @param {LogOptions} options.logging Logging options */ export declare function check({ logging, flags }: CheckPayload): Promise; type CheckerConstructor = { diagnosticChecker: AstroCheck; isWatchMode: boolean; syncCli: (settings: AstroSettings, options: SyncOptions) => Promise; settings: Readonly; logging: Readonly; fileSystem: typeof fs; }; /** * Responsible to check files - classic or watch mode - and report diagnostics. * * When in watch mode, the class does a whole check pass, and then starts watching files. * When a change occurs to an `.astro` file, the checker builds content collections again and lint all the `.astro` files. */ export declare class AstroChecker { #private; constructor({ diagnosticChecker, isWatchMode, syncCli, settings, fileSystem, logging, }: CheckerConstructor); /** * Check all `.astro` files once and then finishes the operation. */ check(): Promise; /** * Check all `.astro` files and then start watching for changes. */ watch(): Promise; /** * Stops the watch. It terminates the inner server. */ stop(): Promise; /** * Whether the checker should run in watch mode */ get isWatchMode(): boolean; } export {};