import { type DokkimiConfig } from './config-loader'; export type { DokkimiConfig } from './config-loader'; export interface ResolverError { file: string; errors: string[]; warnings: string[]; } export interface InitFileEntry { itemName: string; filename: string; content: Buffer; } export interface MountFileEntry { itemName: string; source: string; target: string; content: Buffer; } export interface ResolvedDefinition { /** The definition name */ name: string; /** Fully resolved definition JSON (items with $ref merged, ready to send to CT) */ definition: Record; /** Init files read from disk, ready to send to CT */ initFiles: InitFileEntry[]; /** Mount files read from disk, ready to send to CT */ mountFiles: MountFileEntry[]; /** Source file path */ sourceFile: string; } export interface ResolverResult { definitions: ResolvedDefinition[]; errors: ResolverError[]; /** Parsed project config from .dokkimi/config.yaml */ config: DokkimiConfig; /** All file paths consumed during resolution (definition files, $ref targets, init files, config) */ consumedFiles: string[]; /** Absolute path to the resolved .dokkimi/ directory (undefined on early error exits) */ dokkimiDir?: string; } /** * Discovers, resolves, and validates definition files. * This is the shared library used by both CLI and Electron. * * @param target - Path to a .json file, a directory, a pattern (glob/regex/substring), or undefined (defaults to .dokkimi/) * @returns Resolved definitions ready for submission to CT, or errors */ export declare function resolveDefinitions(target?: string): ResolverResult;