import type { AppliedDataSemantic } from '../Semantics.js';
import { SemanticType } from '../Semantics.js';
/**
 * Configuration for the Summary semantic.
 * Summary is a simple semantic without configuration options.
 */
export interface SummaryConfig {
    /**
     * Custom metadata for the summary field.
     */
    metadata?: Record<string, unknown>;
    /**
     * Index signature to allow additional properties.
     */
    [key: string]: unknown;
}
/**
 * Default configuration for the Summary semantic.
 */
export declare const DEFAULT_SUMMARY_CONFIG: SummaryConfig;
/**
 * Creates a Summary semantic application.
 * @param config - Optional configuration (not used for simple semantic)
 * @returns AppliedDataSemantic for Summary
 */
export declare const createSummarySemantic: (config?: SummaryConfig) => AppliedDataSemantic;
/**
 * 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 declare const isSummarySemantic: (semantic: AppliedDataSemantic) => semantic is AppliedDataSemantic & {
    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 declare const getSummaryConfig: (semantic: AppliedDataSemantic) => SummaryConfig | undefined;
/**
 * Validates Summary semantic configuration.
 * @returns True if the configuration is valid
 */
export declare const validateSummaryConfig: () => boolean;
/**
 * 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 declare const mergeSummaryConfig: (base: SummaryConfig, override: SummaryConfig) => SummaryConfig;
//# sourceMappingURL=Summary.d.ts.map