import type { Effect } from "effect"; import type { ExportValidationResult } from "../../core/types/validation-types.js"; import type { TypeScriptServiceError } from "../effects/errors.js"; import type { TypeScriptCompilerServiceTag } from "../services/typescript-compiler-effect.js"; /** * Validates export access with Effect-based composition * * @param node - Import specifier node * @param exportName - Name being imported * @param modulePath - Module path * @returns Effect with validation result * * @purity SHELL * @effect Effect * @invariant Result is Valid | ExportNotFound (exhaustive) * @complexity O(n log n) where n = |available_exports| * @throws Never - все ошибки типизированы в Effect * * FORMAT THEOREM: ∀node,name,path: validateExport(node,name,path) → Effect */ export declare const validateExportAccessEffect: (node: object, // ESLint ImportSpecifier exportName: string, modulePath: string, containingFilePath: string) => Effect.Effect; /** * Validates if candidate is suitable for export suggestions * * @param candidate - Export candidate * @param userInput - User's input * @returns true if candidate is valid * * @pure true * @purity CORE * @effect None * @invariant ∀candidate,input: isValid(candidate,input) ∈ {true, false} * @complexity O(1) * @throws Never */ export declare const isValidExportCandidate: (candidate: string, userInput: string) => boolean; /** * Formats export validation result into user message * * @param result - Validation result * @returns Formatted message * * @pure true * @purity CORE * @effect None * @invariant ∀result: format(result) ∈ String * @complexity O(n) where n = |suggestions| * @throws Never */ export declare const formatExportValidationMessage: (result: ExportValidationResult) => string; //# sourceMappingURL=export-validation-effect.d.ts.map