import { StudioComponentPredicate, StudioComponentSort } from '../bindings'; import { CollectionBindingBody, CollectionComponentSlotBody, CollectionBindingTitle } from './collection'; import { ViewStyle } from './style'; import { ColumnsMap } from './table'; export interface StudioView { appId?: string; dataSource: ViewDataTypeConfig; environmentName?: string; id: string; name: ViewName; schemaVersion: string; sourceId?: string; style: ViewStyle; viewConfiguration: ViewConfiguration; } export declare type ViewType = 'Table' | 'Collection'; export interface BaseViewConfiguration { type: ViewType; } export interface TableConfiguration extends BaseViewConfiguration { type: 'Table'; table: { columns?: ColumnsMap; disableHeaders?: boolean; highlightOnHover?: boolean; enableOnRowClick?: boolean; }; } export interface CollectionConfiguration extends BaseViewConfiguration { type: 'Collection'; collection: { body: CollectionComponentSlotBody | CollectionBindingBody; collectionType: 'expander'; title: CollectionBindingTitle; }; } export declare type ViewConfiguration = TableConfiguration | CollectionConfiguration | CollectionConfiguration; export interface ViewDataTypeConfig { identifiers?: string[]; model?: string; predicate?: StudioComponentPredicate; sort?: StudioComponentSort[]; type: 'DataStore' | 'Custom'; } export declare type ViewList = StudioView[]; export declare type ViewName = string; export interface ViewSummary { appId: string; environmentName: string; id: string; name: ViewName; } export declare type ViewSummaryList = ViewSummary[]; //# sourceMappingURL=view.d.ts.map