import { Observable } from 'rxjs'; import { QueryList } from '@angular/core'; import { GasSelectComponent } from '../../forms/gas-select/wrapper/gas-select.component'; import { GasFormKeyDirective } from '../../utils/gas-form-key/gas-form-key.directive'; import { GasPaginator } from '../gas-paginator/gas-paginator.namespace'; import { GasCheckbox } from '../../forms/gas-checkbox/gas-checkbox.namespace'; import { GasSelectOptionComponent } from '../../forms/gas-select/option/gas-select-option.component'; import { GasTags } from '../gas-tags/gas-tags.namespace'; export declare namespace GasTable { enum TableRowsSelectionMode { None = "none", Single = "single", Multiple = "multiple", OnlyBody = "onlyBody" } enum TableSorting { Asc = "asc", Desc = "desc" } interface TableParams { filter?: GasTable.FilterValue; pagination?: GasPaginator.Data; sorting?: GasTable.SortingValue; } type TableValue = Record; type TableSelectedValue = TableValue | TableValue[]; type AdvancedFilterValue = Record; type FilterValue = AdvancedFilterValue | string; type SortingValueType = 'asc' | 'desc'; type SortingValue = Record | undefined; interface Action { icon: string; callback: () => void; tooltip: string; loading$?: Observable; disabled$?: Observable; } interface TableColumnVisibilitySettings extends GasCheckbox.Checkbox { index: number; } interface Texts { tag?: { filter?: string; resetAll?: string; }; empty?: { resetFilters: string; }; error?: { tryReload?: string; reloadButton?: string; }; filter?: { cancel?: string; reset?: string; apply?: string; }; } interface FilterButtonCustomFunctions { cancelCallback?: () => void; resetCallback?: () => void; applyCallback?: () => void; } const DEFAULT_TEXTS: Texts; /** Генерируем текст тега */ function generateTag(formKeyDirectives: GasFormKeyDirective[]): void; /** Генерируем тэги фильтров */ function generateTags(directives: GasFormKeyDirective[]): GasTags.GasTag[]; /** Группируем модифицированные инпуты по combine признаку. Это нужно в случае, если у нас используется интервал */ function getCombinedInputs(directives: GasFormKeyDirective[]): GasFormKeyDirective[][]; function getDateFrom(value: string | Date): string; function getDateForLabel(selectDate: Date): string; function addZero(date: number): string | number; function setGasSelectTitle(selectComponent: GasSelectComponent, options: QueryList, formKeyDirective: GasFormKeyDirective): void; }