import * as i0 from '@angular/core'; import { OnInit, EventEmitter, Provider } from '@angular/core'; import { ConnectedPosition } from '@angular/cdk/overlay'; import { TranslationLabels, TranslationService } from '@moxa/formoxa/mx-shared'; interface MxTableFilterItem { name: string; inputType: 'text' | 'selection' | 'dateRange' | 'dateTimeRange' | 'date'; selection: ValueSelection[]; value: string | string[] | DateRangeType | DateTimeRangeType | DateType; label: string; } type DateType = [Date | string]; type DateRangeType = [Date | string, Date | string]; type DateTimeRangeType = [Date | string, string, string, Date | string, string, string]; interface MxTableFilterItemVm extends MxTableFilterItem { displayOrder: number; isUsed: boolean; singleDateValue: Date | null; dateValue: { start: Date | null; end: Date | null; }; dateTimeValue: { startDate: Date | null; startHour: string | null; startMin: string | null; endDate: Date | null; endHour: string | null; endMin: string | null; }; } interface ValueSelection { name: string; label: string; } interface MxTableSearchInfoVm { keyword: string; filters: MxTableFilterItemVm[]; isFilter: boolean; } interface MxTableSearchInfo { keyword: string; filters: MxTableFilterItem[]; isFilter: boolean; } declare class MxTableSearchComponent implements OnInit { overlayMinWidth: number; set filterItems(filters: MxTableFilterItem[]); overlayWidth: number; disableOverlay: boolean; searchDefaultColumns: string; searchDefaultKeyword: string; searchChange: EventEmitter; enableKeywordSearch: i0.InputSignalWithTransform; mxTableSearchFiltersVm: MxTableFilterItemVm[]; positionConfig: ConnectedPosition[]; isOverlayOpen: boolean; keywords: string; ngOnInit(): void; hideOverlay(): void; onSearchChange(searchInfo: MxTableSearchInfoVm): void; onClearClick(event: any): void; openOverlay(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_overlayWidth: unknown; static ngAcceptInputType_disableOverlay: unknown; } interface MxTableSearchIntlLabels extends TranslationLabels { inputSearchBarPlaceholderLabel: string; inputStartDatePlaceholderLabel: string; inputEndDatePlaceholderLabel: string; inputHourLabel: string; inputMinLabel: string; tooltipAddAFilterLabel: string; buttonAddAFilterLabel: string; buttonSearchLabel: string; } declare class MxTableSearchIntlService extends TranslationService { defaultLabels: MxTableSearchIntlLabels; constructor(); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare const MX_TABLE_SEARCH_INTL_PROVIDER: Provider; declare const getKeywordsInValues: (filter: MxTableFilterItem[]) => string; declare const mxFilterPredicate: (data: any, filter: string) => boolean; export { MX_TABLE_SEARCH_INTL_PROVIDER, MxTableSearchComponent, MxTableSearchIntlService, getKeywordsInValues, mxFilterPredicate }; export type { DateRangeType, DateTimeRangeType, DateType, MxTableFilterItem, MxTableFilterItemVm, MxTableSearchInfo, MxTableSearchInfoVm, MxTableSearchIntlLabels, ValueSelection };