export interface IgnoreRules { exact: Set; globs: string[]; } export declare function scanDefinitionFiles(scanDir: string, ignoreRules?: IgnoreRules, ignoreRoot?: string): string[]; export declare function loadDokignore(dokkimiDir: string): IgnoreRules; export declare function findDokkimiDir(filePath: string): string | null; /** * Walk up from a directory looking for a `.dokkimi` ancestor OR a `.dokkimi` child. * Checks: dir itself (if named .dokkimi), then dir/.dokkimi, then walks up. */ export declare function findDokkimiDirFrom(dir: string): string | null; /** * Filters files by a pattern string. Supports: * - Glob patterns (if contains *, ?, {, }, [, ]) * - Regex patterns (if starts/ends with /) * - Substring match (default) * Matches against both the relative path from .dokkimi and the file basename (without extension). */ export declare function filterFilesByPattern(files: string[], dokkimiDir: string, pattern: string): string[]; export declare function collectInitFilePaths(item: Record): string[];