import { EMPTY_STR } from '@sdcorejs/utils/constants';
export { EMPTY_STR, VALIDATION_PATTERNS } from '@sdcorejs/utils/constants';
import { StringUtilities } from '@sdcorejs/utils/fns';
import { resolveMaybeAsync, normalizeAsync } from '@sdcorejs/utils/models';
export { normalizeAsync, resolveMaybeAsync } from '@sdcorejs/utils/models';

const DefaultMaterialIconFontSet = 'material-icons-outlined';

// `name` và `errorMessage` chứa i18n KEY (không phải chuỗi đã dịch).
/** @deprecated Use `VALIDATION_PATTERNS` from `@sdcorejs/utils/constants` instead. */
const SdPatternCommons = [
    { type: 'EMAIL', name: 'core.validator.email.name', regex: StringUtilities.REGEX_EMAIL, errorMessage: 'core.validator.email.error' },
    { type: 'PHONE', name: 'core.validator.phone.name', regex: StringUtilities.REGEX_PHONE, errorMessage: 'core.validator.phone.error' },
    { type: 'PHONE_VN', name: 'core.validator.phone-vn.name', regex: StringUtilities.REGEX_VN_PHONE, errorMessage: 'core.validator.phone-vn.error' },
    { type: 'IDVN', name: 'core.validator.cccd.name', regex: StringUtilities.REGEX_VN_ID, errorMessage: 'core.validator.cccd.error' },
    { type: 'PASSPORT', name: 'core.validator.passport.name', regex: StringUtilities.REGEX_PASSPORT, errorMessage: 'core.validator.passport.error' },
    { type: 'IDVN_OR_PASSPORT', name: 'core.validator.id-vn.name', regex: StringUtilities.REGEX_VN_ID_OR_PASSPORT, errorMessage: 'core.validator.id-vn.error' },
    { type: 'TIME', name: 'core.validator.time.name', regex: StringUtilities.REGEX_TIME, errorMessage: 'core.validator.time.error' },
];

/** @deprecated Use {@link EMPTY_STR} from `@sdcorejs/utils/constants` instead */
const SD_EMPTY_STR = EMPTY_STR;

/** @deprecated Use {@link resolveMaybeAsync} from `@sdcorejs/utils/models` instead */
const SdResolveMaybeAsync = resolveMaybeAsync;
/** @deprecated Use {@link normalizeAsync} from `@sdcorejs/utils/models` instead */
const SdNormalizeAsync = normalizeAsync;

// `display` chứa i18n KEY (không phải chuỗi đã dịch).
// Consumer phải gọi i18n.t(display) trước khi render ra UI.
// @deprecated Use `OPERATORS` from `@sdcorejs/utils/constants` instead.
// Note: OPERATORS has translated display labels; SdOperators uses i18n keys.
const SdOperators = [
    { value: 'EQUAL', symbol: '=', display: 'core.operator.equal.display' },
    { value: 'NOT_EQUAL', symbol: '≠', display: 'core.operator.not-equal.display' },
    { value: 'GREATER_THAN', symbol: '>', display: 'core.operator.greater-than.display' },
    { value: 'LESS_THAN', symbol: '<', display: 'core.operator.less-than.display' },
    { value: 'GREATER_OR_EQUAL', symbol: '≥', display: 'core.operator.greater-or-equal.display' },
    { value: 'LESS_OR_EQUAL', symbol: '≤', display: 'core.operator.less-or-equal.display' },
    { value: 'CONTAIN', symbol: 'join_inner', display: 'core.operator.contain.display' },
    { value: 'NOT_CONTAIN', symbol: 'join', display: 'core.operator.not-contain.display' },
    { value: 'START_WITH', symbol: 'line_start_circle', display: 'core.operator.start-with.display' },
    { value: 'END_WITH', symbol: 'line_end_circle', display: 'core.operator.end-with.display' },
    { value: 'IN', symbol: 'checklist_rtl', display: 'core.operator.in.display' },
    { value: 'NOT_IN', symbol: 'event_list', display: 'core.operator.not-in.display' },
    { value: 'NULL', symbol: 'motion_photos_off', display: 'core.operator.null.display' },
    { value: 'NOT_NULL', symbol: 'adjust', display: 'core.operator.not-null.display' },
];

/**
 * Generated bundle index. Do not edit.
 */

export { DefaultMaterialIconFontSet, SD_EMPTY_STR, SdNormalizeAsync, SdOperators, SdPatternCommons, SdResolveMaybeAsync };
//# sourceMappingURL=sdcorejs-angular-utilities-models.mjs.map
