import type { Intersect } from '../../../utils'; import type { Attribute } from '../..'; export interface UIDOptions { separator?: string; lowercase?: boolean; decamelize?: boolean; customReplacements?: Array<[string, string]>; preserveLeadingUnderscore?: boolean; } export interface UIDProperties { targetField?: TTargetAttribute; options?: UIDOptions & TOptions; regex?: RegExp['source']; } /** * Represents a UID Strapi attribute along with its options */ export type UID = Intersect<[ Attribute.OfType<'uid'>, UIDProperties, Attribute.ConfigurableOption, Attribute.DefaultOption, Attribute.MinMaxLengthOption, Attribute.PrivateOption, Attribute.RequiredOption, Attribute.WritableOption, Attribute.VisibleOption ]>; export type UIDValue = string; export type GetUIDValue = TAttribute extends UID ? UIDValue : never; //# sourceMappingURL=uid.d.ts.map