import { SemanticType } from '../Semantics.js';
/**
 * Type guard to check if a semantic is a PublicUniqueName semantic.
 */
export const isPublicUniqueNameSemantic = (semantic) => {
    return semantic.id === SemanticType.PublicUniqueName;
};
/**
 * Helper function to create a PublicUniqueName semantic with configuration.
 */
export const createPublicUniqueNameSemantic = (config = {}) => {
    const mergedConfig = {
        ...DEFAULT_PUBLIC_UNIQUE_NAME_CONFIG,
        ...config,
    };
    if (config.metadata) {
        mergedConfig.metadata = { ...config.metadata };
    }
    return {
        id: SemanticType.PublicUniqueName,
        config: mergedConfig,
    };
};
/**
 * Default configuration for PublicUniqueName semantic.
 */
export const DEFAULT_PUBLIC_UNIQUE_NAME_CONFIG = {
    separator: '-',
    caseSensitive: false,
    allowUnicode: false,
    allowDuplicates: false,
};
//# sourceMappingURL=PublicUniqueName.js.map