import * as Effect from 'effect/Effect'; import * as FileSystem from 'effect/FileSystem'; import * as Path from 'effect/Path'; import * as Schema from 'effect/Schema'; import type { LoadedPlugin, PluginScan } from './Load.js'; import type { PluginDefinition } from './Define.js'; /** * Severity level for plugin issues. * * @category Models * @since 0.1.0 */ export declare const PluginIssueSeverity: Schema.Literals; export type PluginIssueSeverity = typeof PluginIssueSeverity.Type; declare const PluginIssue_base: Schema.Class; readonly message: Schema.String; readonly path: Schema.optional; }>, {}>; /** * A validation or lint finding for a plugin definition. * * @category Models * @since 0.1.0 */ export declare class PluginIssue extends PluginIssue_base { } declare const PluginValidationError_base: Schema.Class; }>, import("effect/Cause").YieldableError>; /** * Raised when `Plugin.validate` encounters one or more error-severity issues. * * @category Errors * @since 0.1.0 */ export declare class PluginValidationError extends PluginValidationError_base { } /** * Structured lint report for an in-memory plugin definition. * * @category Models * @since 0.1.0 */ export interface PluginLintReport { readonly issues: ReadonlyArray; readonly errors: ReadonlyArray; readonly warnings: ReadonlyArray; } /** * Structured on-disk diagnostic report for a plugin root. * * @category Models * @since 0.1.0 */ export interface PluginDoctorReport extends PluginLintReport { readonly scanned: PluginScan; readonly loaded: LoadedPlugin; } /** * Lint a plugin definition and return all errors and warnings without failing. * * @category Diagnostics * @since 0.1.0 */ export declare const lint: (definition: PluginDefinition | LoadedPlugin) => PluginLintReport; /** * Validate a plugin definition and fail when any error-severity issue is found. * * @category Diagnostics * @since 0.1.0 */ export declare const validate: (definition: PluginDefinition | LoadedPlugin) => Effect.Effect; /** * Load a plugin directory from disk and return a structured diagnostic report. * * @category Diagnostics * @since 0.1.0 */ export declare const doctor: (rootDir: string) => Effect.Effect; export {}; //# sourceMappingURL=Validate.d.ts.map