import { EmitContext, NoTarget } from "@typespec/compiler"; import { TypraEmitterOptions } from "./lib.js"; export declare const SUPPORTED_TYPESPEC_COMPILER_VERSION = ">=1.10.0 <2.0.0"; export declare const SUPPORTED_TYPESPEC_JSON_SCHEMA_VERSION = ">=1.10.0 <2.0.0"; export interface ToolchainPackageMetadata { name: string; version: string; supportedRange: string; supported: boolean; } export interface ToolchainMetadata { packages: ToolchainPackageMetadata[]; } interface CompatibilityDiagnosticContext { options: Pick; program: { reportDiagnostic(diagnostic: { code: string; message: string; severity: "error" | "warning"; target: typeof NoTarget; }): void; }; } export declare function getToolchainMetadata(): ToolchainMetadata; export declare function buildToolchainMetadata(packages: Array & Partial>>): ToolchainMetadata; export declare function reportTypeSpecCompatibility(context: EmitContext): ToolchainMetadata; export declare function shouldBlockUnsupportedTypeSpecToolchain(options: Pick, toolchain: ToolchainMetadata): boolean; export declare function reportToolchainCompatibility(context: CompatibilityDiagnosticContext, toolchain: ToolchainMetadata): void; export declare function getUnsupportedTypeSpecPackages(toolchain: ToolchainMetadata): ToolchainPackageMetadata[]; export declare function formatUnsupportedTypeSpecVersionMessage(unsupported: ToolchainPackageMetadata[], allowedUnsupportedVersion: boolean): string; export {};