1 | import { KeyValueMap } from '../common-types';
|
2 | interface NumRange {
|
3 | min?: number;
|
4 | max?: number;
|
5 | }
|
6 | interface DateRange {
|
7 | min?: string;
|
8 | max?: string;
|
9 | }
|
10 | interface RegExp {
|
11 | pattern: string;
|
12 | flags: string;
|
13 | }
|
14 | export interface ContentTypeFieldValidation {
|
15 | linkContentType?: string[];
|
16 | in?: (string | number)[];
|
17 | linkMimetypeGroup?: string[];
|
18 | enabledNodeTypes?: string[];
|
19 | enabledMarks?: string[];
|
20 | unique?: boolean;
|
21 | size?: NumRange;
|
22 | range?: NumRange;
|
23 | dateRange?: DateRange;
|
24 | regexp?: RegExp;
|
25 | prohibitRegexp?: RegExp;
|
26 | assetImageDimensions?: {
|
27 | width?: NumRange;
|
28 | height?: NumRange;
|
29 | };
|
30 | assetFileSize?: NumRange;
|
31 | }
|
32 | interface Item {
|
33 | type: string;
|
34 | linkType?: string;
|
35 | validations?: ContentTypeFieldValidation[];
|
36 | }
|
37 | export interface ContentFields<T = KeyValueMap> extends Item {
|
38 | id: string;
|
39 | name: string;
|
40 | required: boolean;
|
41 | localized: boolean;
|
42 | disabled?: boolean;
|
43 | omitted?: boolean;
|
44 | deleted?: boolean;
|
45 | items?: Item;
|
46 | apiName?: string;
|
47 | defaultValue?: T;
|
48 | }
|
49 | export {};
|