import type esbuild from "esbuild";
import type ts from "typescript";
import type { SerializedDiagnostic } from "../typecheck/typecheck-serialization";
import type { LintWithProgramResult } from "../lint/lint-with-program";
import type { TypecheckEnv } from "../utils/tsconfig";
export interface TscPluginOptions {
    pkgDir: string;
    cwd: string;
    output: {
        dts: boolean;
    };
    env?: TypecheckEnv;
    includeTests?: boolean;
    lint?: boolean;
}
export interface TscPluginResult {
    plugin: esbuild.Plugin;
    getProgram(): ts.Program | undefined;
    getAffectedFiles(): ReadonlySet<string> | undefined;
    getDiagnostics(): SerializedDiagnostic[];
    getErrors(): string[] | undefined;
    getLintResult(): LintWithProgramResult | undefined;
    resetBuilderProgram(): void;
}
export declare function createTscPlugin(options: TscPluginOptions): TscPluginResult;
//# sourceMappingURL=esbuild-tsc-plugin.d.ts.map