import { SemanticType } from '../Semantics.js';
/**
 * Default configuration for the Summary semantic.
 */
export const DEFAULT_SUMMARY_CONFIG = {};
/**
 * Creates a Summary semantic application.
 * @param config - Optional configuration (not used for simple semantic)
 * @returns AppliedDataSemantic for Summary
 */
export const createSummarySemantic = (config) => ({
    id: SemanticType.Summary,
    config: config ? { ...DEFAULT_SUMMARY_CONFIG, ...config } : { ...DEFAULT_SUMMARY_CONFIG },
});
/**
 * Type guard to check if a semantic is a Summary semantic.
 * @param semantic - The semantic to check
 * @returns True if the semantic is a Summary semantic
 */
export const isSummarySemantic = (semantic) => semantic.id === SemanticType.Summary;
/**
 * Extracts the configuration from a Summary semantic application.
 * @param semantic - The semantic application
 * @returns The Summary configuration or undefined if not a Summary semantic
 */
export const getSummaryConfig = (semantic) => {
    if (!isSummarySemantic(semantic)) {
        return undefined;
    }
    return semantic.config;
};
/**
 * Validates Summary semantic configuration.
 * @returns True if the configuration is valid
 */
export const validateSummaryConfig = () => {
    // No validation needed for simple semantic
    return true;
};
/**
 * Merges Summary configurations, with the second config taking precedence.
 * @param base - The base configuration
 * @param override - The configuration to merge on top
 * @returns Merged configuration
 */
export const mergeSummaryConfig = (base, override) => {
    // No merging needed for simple semantic
    return { ...base, ...override };
};
//# sourceMappingURL=Summary.js.map