import * as i0 from '@angular/core'; import { TemplateRef, QueryList, Provider, AfterContentInit, OnChanges, ChangeDetectorRef, InjectionToken } from '@angular/core'; import { DynamicText } from '@tstdl/base/text'; import { Enumeration, Record } from '@tstdl/base/types'; import { DateTime, Duration } from 'luxon'; type GridValue = number | Date | DateTime | Duration | string | boolean | null | undefined; type GridValueType = 'plain' | 'number' | 'percent' | 'percent-point' | 'currency' | 'date' | 'numeric-date' | 'time' | 'numeric-time' | 'text' | 'boolean' | 'enum'; declare class GridLabelDirective { readonly templateRef: TemplateRef | null; constructor(templateRef: TemplateRef | null); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class GridValueDirective { readonly templateRef: TemplateRef | null; constructor(templateRef: TemplateRef | null); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class GridItemDirective { private readonly templateRef; label: DynamicText | null | undefined; value: GridValue | null | undefined; valueType: GridValueType | null | undefined; enum: Enumeration | null | undefined; nullValue: GridValue | null | undefined; suffix: string | null | undefined; colSpan: number | null | undefined; rowSpan: number | null | undefined; booleanTrueText: DynamicText | null | undefined; booleanFalseText: DynamicText | null | undefined; noValueText: DynamicText | null | undefined; labelRef: GridLabelDirective | null | undefined; valueRef: GridValueDirective | null | undefined; set gridItem(label: DynamicText | null | undefined); get labelTemplateRef(): TemplateRef | null | undefined; get valueTemplateRef(): TemplateRef | null | undefined; constructor(templateRef: TemplateRef | null); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class GridColumnDirective { items: QueryList; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class GridHeaderItemDirective { readonly templateRef: TemplateRef | null; label: DynamicText | null | undefined; enum: Enumeration | null | undefined; constructor(templateRef: TemplateRef | null); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class GridRowDirective { items: QueryList; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class DataGridOptions { booleanTrueText?: DynamicText; booleanFalseText?: DynamicText; noValueText?: DynamicText; itemColumns?: number; } declare function provideDataGridOptions(options: DataGridOptions): Provider; type DataGridDisplayType = 'columns' | 'table' | 'items'; declare class DataGridComponent implements AfterContentInit, OnChanges { private readonly changeDetector; private contentInit; readonly columnClasses: Record; readonly colSpanClasses: Record; readonly rowSpanClasses: Record; heading: DynamicText | undefined; displayType: DataGridDisplayType; itemColumns: number; booleanTrueText: DynamicText | null | undefined; booleanFalseText: DynamicText | null | undefined; noValueText: DynamicText | null | undefined; headerItemRefs: QueryList; itemRefs: QueryList; columnRefs: QueryList; rowRefs: QueryList; matrix: (GridItemDirective | undefined)[][]; columns: number; actualDisplayType: DataGridDisplayType; get empty(): boolean; constructor(changeDetector: ChangeDetectorRef, options?: DataGridOptions | null); ngAfterContentInit(): void; ngOnChanges(): void; isOddItemsRow(index: number): boolean; private update; private updateMatrix; private updateActualDisplayType; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class GridLabelComponent { label: DynamicText | null | undefined; enum: Enumeration | null | undefined; templateRef: TemplateRef | null | undefined; colon: boolean; constructor(_changeDetector: ChangeDetectorRef); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class GridValueComponent implements OnChanges { readonly dateShort: Intl.DateTimeFormatOptions; readonly timeShort: Intl.DateTimeFormatOptions; actualValue: any; actualValueType: GridValueType | null; item: GridItemDirective | null | undefined; numberFormat: Intl.NumberFormatOptions | null | undefined; dateFormat: Intl.DateTimeFormatOptions | null | undefined; timeFormat: Intl.DateTimeFormatOptions | null | undefined; booleanTrueText: DynamicText | null | undefined; booleanFalseText: DynamicText | null | undefined; noValueText: DynamicText | null | undefined; get percentFormat(): Intl.NumberFormatOptions; get percentPointFormat(): Intl.NumberFormatOptions; get currencyFormat(): Intl.NumberFormatOptions; ngOnChanges(): void; private getActualValueType; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class TstdlDataGridModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare const GRID_CONTENT: InjectionToken; export { DataGridComponent, DataGridOptions, GRID_CONTENT, GridColumnDirective, GridHeaderItemDirective, GridItemDirective, GridLabelComponent, GridLabelDirective, GridRowDirective, GridValueComponent, GridValueDirective, TstdlDataGridModule, provideDataGridOptions }; export type { DataGridDisplayType, GridValue, GridValueType };