import type * as Data from '../../../data'; import type * as UID from '../../../uid'; import type { Array, Intersect } from '../../../utils'; import type { Attribute } from '../..'; export interface DynamicZoneProperties { components: TComponentsUID; } /** * Represents a dynamic-zone Strapi attribute along with its options */ export type DynamicZone = Intersect<[ Attribute.OfType<'dynamiczone'>, DynamicZoneProperties, Attribute.ConfigurableOption, Attribute.MinMaxOption, Attribute.RequiredOption, Attribute.WritableOption, Attribute.VisibleOption ]>; export type DynamicZoneValue = Array extends infer TComponentUID ? TComponentUID extends UID.Component ? Intersect<[Data.Component, { __component: TComponentUID; }]> : never : never>; export type GetDynamicZoneValue = TAttribute extends DynamicZone ? DynamicZoneValue : never; export type DynamicZoneTargets = TAttribute extends DynamicZone ? Array.Values : never; //# sourceMappingURL=dynamic-zone.d.ts.map