/**
 * Features and behaviors
 * - watch() uses incremental tsc build without emitting
 *  - uses cache
 *  - watches for file changes
 *  - process lives until stopped
 *  - new functions, actions, widgets are added dynamically to the incremental builds (we do nto restart them)
 *  - used by dev
 *
 * - check() uses tsc build without emitting
 *  - once done, kills the process
 *  - used by build
 */
import type { ParsedCommandLine, Diagnostic } from 'typescript';
import type { Diagnostic as CustomDiagnostic } from './diagnostic';
import { BuildType } from './build-enums';
export declare const buildTypeGlob: (srcDir: string) => {
    actions: string;
    widgets: string;
};
export type TypeCheckOptions = {
    appRoot: string;
    srcRoot: string;
    entrypoints: string[];
    tsConfigFullPath: string;
    buildType: BuildType;
};
/** Typechecks all the files from the given entrypoints array and returns the result. Type errors will be logged to the console if there appear to be some. */
export declare function check(options: TypeCheckOptions): CustomDiagnostic[];
/** Reads the given tsconfig file and returns its contents + the diagnostics. */
export declare function getTsConfig(cwd: string, tsConfigPath: string): {
    tsConfigContents: ParsedCommandLine;
    tsConfigFileDiagnostics: Diagnostic[];
};
