/** * YAML-based semantic layer loader (browser-safe). * * This module contains only pure string/object parsing and serialization — * no filesystem access — so it is safe to include in browser bundles. The * node-only directory loaders (`loadSemanticLayerFromDir`) that read from disk * live in the sibling `yaml-loader.node.ts` to keep `node:fs`/`node:path` out * of the browser-reachable import graph. */ import { SemanticLayer, type MetricDefinition, type DimensionDefinition } from './semantic-layer.js'; /** * Load a SemanticLayer from pre-read file contents (no filesystem access needed). * Useful for browser contexts or when files are already loaded. */ export declare function loadSemanticLayerFromConfig(files: Array<{ path: string; content: string; }>): SemanticLayer; /** * Serialize a MetricDefinition back into stable semantic-layer YAML. * Used by governance flows that propose human-reviewed semantic changesets. */ export declare function serializeMetricDefinitionToYaml(metric: MetricDefinition): string; /** * Serialize a DimensionDefinition back into stable semantic-layer YAML. * This mirrors the metric serializer so future composting can propose reusable * dimensions without hand-building YAML strings. */ export declare function serializeDimensionDefinitionToYaml(dimension: DimensionDefinition): string; /** * Expand a raw YAML document into individual definition records. Shared by the * browser-safe config loader and the node-only directory loader. */ export declare function expandDefinitions(raw: Record, collectionKeys: string[]): Record[]; /** Add a definition to the layer only when it has a non-empty name. Shared helper. */ export declare function addIfNamed(item: T, add: (item: T) => void): void; //# sourceMappingURL=yaml-loader.d.ts.map