import { Profile } from '.'; export declare const DataViewTypes: readonly ["Grid", "Form", "Card", "Large", "Line", "Map", "Menu", "Configuration", "CardsGrid", "Details"]; export declare type DataViewType = typeof DataViewTypes[number]; export declare const DataViewScreenSizes: readonly ["Tablet", "Phablet", "Landscape"]; export declare type DataViewScreenSize = typeof DataViewScreenSizes[number]; export declare const DataViewFieldTypes: { None: number; TextBox: number; LimitedLengthTextBox: number; TextArea: number; TextHeader: number; Date: number; DateAndTime: number; NumberInteger: number; NumberReal: number; Currency: number; Boolean: number; ComboBox: number; MultiTickBox: number; Separator: number; Address: number; Percentage: number; EmptyComboBox: number; InternalLink: number; Email: number; LimitedDate: number; Image: number; MultiTickBoxToComboBox: number; EmptyMultiTickBox: number; Totals: number; Attachment: number; Signature: number; Link: number; ImageURL: number; NumberIntegerQuantitySelector: number; NumberRealQuantitySelector: number; NumberIntegerForMatrix: number; NumberRealForMatrix: number; Images: number; Indicators: number; CalculatedReal: number; CalculatedInt: number; CalculatedString: number; CalculatedDate: number; CalculatedBool: number; MapDataDropDown: number; MapDataReal: number; MapDataString: number; MapDataInt: number; Sum: number; Phone: number; UrlForApi: number; ManyToManyUrlForApi: number; ReferenceType: number; GuidReferenceType: number; Button: number; UIControlFieldType_InternalPage: number; Duration: number; ListOfObjects: number; Package: number; RelatedObjectsCards: number; BooleanText: number; RichTextHTML: number; }; export declare type DataViewFieldType = keyof typeof DataViewFieldTypes; export declare const ResourceTypes: readonly ["None", "accounts", "transactions", "activities", "all_activities", "items", "users", "transaction_lines", "contacts", "lists", "catalogs", "types"]; export declare type ResourceType = typeof ResourceTypes[number]; export declare const ResoursePrefixes: readonly ["GA", "OA", "CP", "AT", "GL", "CA"]; export declare type ResourcePrefix = typeof ResoursePrefixes[number]; export declare const VerticalAlignments: { Stretch: number; Top: number; Bottom: number; Center: number; }; export declare type VerticalALignment = keyof typeof VerticalAlignments; export declare const HorizontalAlignments: { Stretch: number; Left: number; Right: number; Center: number; }; export declare type HorizontalAlignment = keyof typeof HorizontalAlignments; export declare const DataViewRowModes: { Fixed: number; MatchParent: number; }; export declare type DataViewRowMode = keyof typeof DataViewRowModes; export interface ObjectReference { UUID?: string; InternalID?: number; Name?: string; Resource: ResourceType; } export interface DataViewContext { Object?: ObjectReference; Name: string; Profile: Profile; ScreenSize: DataViewScreenSize; } export interface DataViewFieldLayout { Origin?: { X: number; Y: number; }; Size?: { Width: number; Height: number; }; } export interface DataViewFieldStyle { Alignment: { Horizontal: HorizontalAlignment; Vertical: VerticalALignment; }; } export interface DataViewField { FieldID: string; } export interface DataViewRow { Mode: DataViewRowMode; } export declare type DataViewColumn = any; export interface GridDataViewColumn { Width: number; } export interface BaseDataView { InternalID?: number; Type: DataViewType; Title?: string; Hidden?: boolean; CreationDateTime?: string; ModificationDateTime?: string; Context?: DataViewContext; Fields?: DataViewField[]; ListData?: { Sort?: { FieldID: string; Ascending: boolean; }[]; Section?: { FieldID: string; Ascending: boolean; }; }; } export interface GridDataView extends BaseDataView { Type: 'Grid'; FrozenColumnsCount?: number; MinimumColumnWidth?: number; Fields?: GridDataViewField[]; Columns?: GridDataViewColumn[]; } export interface GridDataViewField extends DataViewField { Type: DataViewFieldType; Title: string; Mandatory: boolean; ReadOnly: boolean; Layout?: DataViewFieldLayout; Style?: DataViewFieldStyle; } export interface BaseFormDataView extends BaseDataView { Rows?: DataViewRow[]; Columns?: DataViewColumn[]; Fields?: BaseFormDataViewField[]; } export interface BaseFormDataViewField extends DataViewField { Type: DataViewFieldType; Title: string; Mandatory: boolean; ReadOnly: boolean; Layout?: DataViewFieldLayout; Style?: DataViewFieldStyle; } export interface MenuDataView extends BaseDataView { Type: 'Menu'; Fields?: MenuDataViewField[]; } export interface MenuDataViewField extends DataViewField { Title: string; } export interface ConfigurationDataView extends BaseDataView { Type: 'Configuration'; Fields?: ConfigurationDataViewField[]; } export interface ConfigurationDataViewField extends DataViewField { Title?: string; Type?: DataViewFieldType; Mandatory?: boolean; ReadOnly?: boolean; } export interface CardDataView extends BaseFormDataView { Type: 'Card'; } export interface LineDataView extends BaseFormDataView { Type: 'Line'; } export interface FormDataView extends BaseFormDataView { Type: 'Form'; } export interface MapDataView extends BaseFormDataView { Type: 'Map'; } export interface LargeDataView extends BaseFormDataView { Type: 'Large'; } export interface CardsGridDataView extends BaseFormDataView { Type: 'CardsGrid'; } export interface DetailsDataView extends BaseFormDataView { Type: 'Details'; } export declare type DataView = GridDataView | FormDataView | LineDataView | CardDataView | CardsGridDataView | LargeDataView | MapDataView | DetailsDataView | MenuDataView | ConfigurationDataView;