export interface DataLayer { source: string; data: Record; } export interface DocumentLayer { source: string; filePath: string; content: string; baseName?: string; } export interface BaseLayer { source: string; path: string; } export type ChainLayer = DataLayer | DocumentLayer | BaseLayer; export interface FileSystem { readFile(path: string, encoding: BufferEncoding): Promise; } export interface ResolveOptions { fs: FileSystem; autoExtend?: boolean; validate?: boolean; view?: Record; } export interface ResolvedDocument { data: Record; sources: Record; chain: string[]; } export interface ParsedDocument { data: Record; format: "markdown" | "yaml" | "json"; extends: boolean | string; hasExtendsField: boolean; }