export type PropertyModel = { classID: string; type?: string; pageClass?: string; datasource?: DataPageModel; dataRetrievalType: string; isDeclarativeTarget: boolean; additionalInformation?: string | null; label?: string; localeReference?: string; }; export type AIAgentCoachModel = { label: string; insName: string; classID?: string; isDeclarativeTarget?: boolean; type: 'coach' | 'agent'; }; export type UnresolvedGenAICoach = { type: 'GenAICoachObject' | 'AIAgentObject'; config: { coach: string | null; label?: string; ruleNamespace?: string; visibility?: boolean; }; }; export type DataPageStore = { name: string; isAlternateKeyStorage: boolean; linkedField: string; }; export interface ViewStore { config: { [key: string]: string; }; children: ViewStore[]; [key: string]: string | ViewStore[] | { [key: string]: string; }; } export interface DataPage { parameters: DataPageStore[]; classID: string; mode: string; isSearchable: boolean; isQueryable: boolean; structure: string; isWorkObject: boolean; isDataObject: boolean; isAlternateKeyStorage: boolean; refreshStrategy: { type: string; }; } export interface ParagraphStore { content: string; name: string; classID: string; } export interface DataPageModel { structure?: string; refreshStrategy?: { [keys: string]: string; }; parameters?: { name: string; defaultValue?: string; [key: string]: string | undefined; }[]; isQueryable?: boolean; rdFields?: { fields: string[]; } | string[]; classID?: string; primaryFields?: string[]; tableType?: string; } type StateValue = string | number | boolean | Record | (string | number | Record)[]; export type PersonalizationState = { [key: string]: StateValue; }; export type PersonalizationInfo = { personalizationState: PersonalizationState; name: string; }; export type CreatePersonalizationInfo = PersonalizationInfo & { markAsDefault: boolean; markAsAppDefault?: boolean; }; export type Personalizations = { [personalizationKey: string]: PersonalizationInfo; }; export type RawPersonalization = { name: string; personalizationID: string; personalizationState: string; }; export type PersonalizationStore = { allPersonalizations: RawPersonalization[] | Personalizations; defaultPersonalization: string; }; export interface InsightStore { pyID: string; pyContent: string; pyClassLabel: string; [key: string]: string; } export interface NavigationStore { } export interface DataType { lookupDataPage?: string; savableDataPage?: string; classKeys: string[]; [key: string]: string | string[] | undefined; } export interface Field { classID: string; type: string; definedOnClassID: string; displayAs: string; additionalInformation: string; label: string; datasource: { tableType: string; name: string; mode: string; }; [key: string]: string | object; } export interface Resources { paragraphs?: { [key: string]: ParagraphStore; }; genAICoaches?: { [key: string]: AIAgentCoachModel; }; AIAgents?: { [key: string]: AIAgentCoachModel; }; views?: { [key: string]: ViewStore; }; datapages?: { [key: string]: DataPage; }; personalizations?: { [key: string]: PersonalizationStore; }; insights?: { [key: string]: InsightStore; }; navigations?: { [key: string]: NavigationStore; }; dataTypes?: { [key: string]: DataType; }; fields?: { [key: string]: Field; }; DeclareExpressions?: { [propertyReference: string]: string; }; } export type StoreType = ParagraphStore | AIAgentCoachModel | ViewStore | DataPage | PersonalizationStore | InsightStore | NavigationStore | DataType | Field; export type ResourceType = { [key: string]: ParagraphStore | AIAgentCoachModel | ViewStore | DataPage | PersonalizationStore | InsightStore | NavigationStore | DataType | Field; }; export {};