import { Worker } from "node:worker_threads"; import type { AuditNotice, Finding } from "@design-harness/core"; import { type MorphologyTokenAnalysis } from "./josa-batchim.js"; import { KIWI_NLP_VERSION, type KiwiModelContract, type PreparedKiwiModelProfile, verifyKiwiModelDirectory } from "./kiwi-model.js"; import type { CopyInventory } from "./types.js"; export declare const KIWI_MORPHOLOGY_INPUT_LIMITS: Readonly<{ maxInventories: 16; maxItems: 2000; maxCodeUnitsPerItem: 2000; maxTotalCodeUnits: 200000; }>; export declare const KIWI_MORPHOLOGY_DEADLINES_MS: Readonly<{ startup: 5000; analysis: 30000; shutdown: 5000; }>; export interface KiwiMorphologyProvenance { readonly kiwiNlpVersion: typeof KIWI_NLP_VERSION; readonly modelVersion: string; readonly modelType: string; readonly modelProfileSha256: string; readonly modelBytes: number; } export interface MorphologyCopyAnalysisResult { readonly findings: readonly Finding[]; readonly notices: readonly AuditNotice[]; readonly provenance?: KiwiMorphologyProvenance; } export interface MorphologyCopyAnalysisOptions { readonly signal?: AbortSignal; } export type MorphologyCopyAnalyzer = (inventories: readonly CopyInventory[], options?: MorphologyCopyAnalysisOptions) => Promise; export interface KiwiWorkerRunnerInput { readonly profile: PreparedKiwiModelProfile; readonly inventories: readonly CopyInventory[]; readonly signal?: AbortSignal; } export type KiwiWorkerRunner = (input: KiwiWorkerRunnerInput) => Promise; interface KiwiWorkerDeadlines { readonly startup: number; readonly analysis: number; readonly shutdown: number; } interface KiwiWorkerLifecycleOptions { readonly createWorker?: () => Worker; readonly deadlinesMs?: KiwiWorkerDeadlines; } export interface PrepareKiwiMorphologyAnalyzerOptions { readonly cwd?: string; readonly contract?: KiwiModelContract; readonly verifyModelDirectory?: typeof verifyKiwiModelDirectory; readonly runWorker?: KiwiWorkerRunner; } export declare function prepareKiwiMorphologyAnalyzer(modelDir: string, options?: PrepareKiwiMorphologyAnalyzerOptions): Promise; export declare function runKiwiWorker(input: KiwiWorkerRunnerInput, options?: KiwiWorkerLifecycleOptions): Promise; export {}; //# sourceMappingURL=kiwi-morphology.d.ts.map