import { Type } from '@angular/core'; export declare class GridDefinition { columns: GridColumn[]; fixedHeaders: boolean; multiSelect: boolean; scrollHeight: string; sort: Sort; columnVisibilityCallback: (c: GridColumn) => boolean; columnButtonVisibilityCallback: (row: any, name: string, button: string) => boolean; columnButtonDisabledStatusCallback: (row: any, name: string, button: string) => boolean; columnEditorVisibilityStatusCallback: (row: any, c: GridColumn) => boolean; constructor(columns: GridColumn[], fixedHeaders?: boolean, multiSelect?: boolean, scrollHeight?: string); getColumn(name: string): GridColumn; } export declare class GridColumn { title: string; field: string; name: string; style: any; buttonCss: string; customComponentType: Type; type: GridColumnType; data: any; sortable: boolean; dataType: ColumnDataType; format: any; selected: boolean; buttonIcon: string; editorType: GridEditorType; editable: boolean; buttons: GridButton[]; editModes: GridEditMode[]; required: boolean; valueField: string; displayField: string; selectedValueField: string; dropdownData: any[]; autoCompleteData: ColumnAutoCompleteData; multipleSelectionData: MultipleSelectionData; fieldValueCallback: any; linkField: string; linkTarget: string; tooltipField: string; expandTextData: ExpandTextData; listDisplayField: string; allowPasswordCopy: boolean; passwordChar: string; description: string; constructor(title: string, field: string, type?: GridColumnType, name?: string, style?: any, buttonCss?: string, customComponentType?: Type, data?: any, sortable?: boolean, dataType?: ColumnDataType, format?: any, buttonIcon?: string, editable?: boolean, editorType?: GridEditorType, buttons?: GridButton[], editModes?: GridEditMode[], required?: boolean, autoCompleteData?: ColumnAutoCompleteData, multipleSelectionData?: MultipleSelectionData, fieldValueCallback?: any); } export declare class GridButton { css: string; icon: string; text: string; name: string; requiresValidation: boolean; iconOnly: boolean; constructor(text: string, name: string, icon?: string, css?: string, requiresValidation?: boolean, iconOnly?: boolean); } export declare class ButtonGroupColumn extends GridColumn { buttons: GridButton[]; editModes: GridEditMode[]; constructor(title: string, buttons: GridButton[], editModes?: GridEditMode[]); } export declare class GridButtonEventData { column: string; row: any; name: string; constructor(column: string, row: any, name?: string); } export declare class CustomColumnEventData { name: string; row: any; } export declare enum GridColumnType { Label = 0, Checkbox = 1, Button = 2, Custom = 3, Checkmark = 4, ButtonGroup = 5, Link = 6, LinkList = 7, List = 8, Textbox = 9, Image = 10, Password = 11 } export declare enum ColumnDataType { Text = 0, Numeric = 1, Date = 2, Currency = 3, Percent = 4 } export declare enum SortDirection { Asc = 0, Desc = 1 } export declare class Sort { column: GridColumn; direction: SortDirection; constructor(column: GridColumn, direction: SortDirection); } export declare enum GridEditMode { NoEdit = 0, AddNew = 1, Edit = 2 } export declare enum GridEditorType { Textbox = 0, Checkbox = 1, Dropdown = 2, Autocomplete = 3, MultipleChoiceTagInput = 4, MultipleChoiceCheckboxes = 5, Password = 6 } export declare class ColumnAutoCompleteData { data: any[]; onSelectedCallback: (obj: any) => any; optionsLimit: number; loadingCallback: (isLoading: boolean) => any; minLength: number; optionField: string; constructor(data: any[], optionsLimit: number, minLength: number, optionField: string, onSelectedCallback: any, loadingCallback: any); } export declare class MultipleSelectionData { autocompleteItems: any[]; autocompleteOnly: boolean; idField: string; displayField: string; placeHolder: string; selectedField: string; constructor(autocompleteOnly?: boolean, autocompleteItems?: any[], idField?: string, displayField?: string, selectedField?: string, placeHolder?: string); } export declare class GridCellEventData { event: string; row: any; c: GridColumn; constructor(event: string, row: any, c: GridColumn); } export declare class ExpandTextData { maxLength: number; showAllText: string; showLessText: string; style: { cursor: string; color: string; 'text-decoration': string; }; }