import { Moment } from 'moment'; import { paramsSerializationOptions } from '../../../composables/use-endless-scroll-api'; import { default as DataProviderInterface } from '../../../types/data-provider-interface'; export interface HeaderInterface { type: string; smartFilter?: boolean; } /** * * Empty header */ export interface EmptyHeaderInterface extends HeaderInterface { type: ''; } export declare function isEmptyHeaderInterface(i: HeaderInterface): i is EmptyHeaderInterface; /** * * Text header */ export interface TextHeaderInterface extends HeaderInterface { type: 'text'; } export declare function isTextHeaderInterface(i: HeaderInterface): i is TextHeaderInterface; /** * * Text search */ export interface TextSearchHeaderInterface extends HeaderInterface { type: 'TextSearch'; searchParam: string; } export declare function isTextSearchHeaderInterface(i: HeaderInterface): i is TextSearchHeaderInterface; /** * * Number search */ export interface NumberSearchHeaderInterface extends HeaderInterface { type: 'numberSearch'; searchParam: string; } export declare function isNumberSearchHeaderInterface(i: HeaderInterface): i is NumberSearchHeaderInterface; interface PaginatedHeaderInterface { usePrevNextFlags?: boolean; prevPageFlagKey?: string; nextPageFlagKey?: string; requestPageKey?: string; requestPerPageKey?: string; responseItemsKey?: string; responseTotalKey?: string; paginationType?: string; requestSize?: number; sortFieldKey?: string; } /** * * Relation select */ export interface RelationSelectHeaderInterface extends HeaderInterface, PaginatedHeaderInterface { type: 'relationSelect'; endpoint?: string; dataProvider?: DataProviderInterface; selectedParam: string; selectedValueKey?: string; itemConverter?: (item: any) => any; customHighlightSearch?: (value: string) => string; paramsSerialization?: paramsSerializationOptions; searchKey?: string; params?: { [key: string]: string | string[]; }; defaultValue?: { id: string; name: string; }; additionalItems?: { id: string; name: string; }[]; saveDefaultFilterValueOnReset?: boolean; } export declare function isRelationSelectHeaderInterface(i: HeaderInterface): i is RelationSelectHeaderInterface; export interface MultipleRelationSelectHeaderInterface extends HeaderInterface, PaginatedHeaderInterface { type: 'multipleRelationSelect'; endpoint?: string; dataProvider?: DataProviderInterface; selectedParam: string; selectedValueKey?: string; itemConverter?: (item: any) => any; customHighlightSearch?: (value: string) => string; paramsSerialization?: paramsSerializationOptions; searchKey?: string; params?: { [key: string]: string | string[]; }; defaultValue?: { id: string; name: string; }[]; additionalItems?: { id: string; name: string; }[]; saveDefaultFilterValueOnReset?: boolean; canCheckAll?: boolean; } export declare function isMultipleRelationSelectHeaderInterface(i: HeaderInterface): i is MultipleRelationSelectHeaderInterface; export interface MultipleParamsRelationSelectHeaderInterface extends HeaderInterface, PaginatedHeaderInterface { type: 'multipleParamsRelationSelect'; endpoint?: string; dataProvider?: DataProviderInterface; paramsMap: { [key: string]: string; }; itemConverter?: (item: any) => any; paramsSerialization?: paramsSerializationOptions; searchKey?: string; params?: { [key: string]: string | string[]; }; titleKey: string; additionalItems?: { id: string; name: string; [key: string]: string; }[]; } export declare function isMultipleParamsRelationSelectHeaderInterface(i: HeaderInterface): i is MultipleParamsRelationSelectHeaderInterface; /** * * Enum select */ export interface EnumSelectHeaderInterface extends HeaderInterface { type: 'enumSelect'; endpoint?: string; dataProvider?: DataProviderInterface; selectedParam: string; selectedValueKey?: string; itemConverter?: (item: any) => any; paramsSerialization?: paramsSerializationOptions; params?: { [key: string]: string | string[]; }; defaultValue?: { id: string; name: string; }; additionalItems?: { id: string; name: string; }[]; saveDefaultFilterValueOnReset?: boolean; } export declare function isEnumSelectHeaderInterface(i: HeaderInterface): i is EnumSelectHeaderInterface; export interface MultipleEnumSelectHeaderInterface extends HeaderInterface { type: 'multipleEnumSelect'; endpoint?: string; dataProvider?: DataProviderInterface; selectedParam: string; selectedValueKey?: string; itemConverter?: (item: any) => any; paramsSerialization?: paramsSerializationOptions; params?: { [key: string]: string | string[]; }; defaultValue?: { id: string; name: string; }[]; additionalItems?: { id: string; name: string; }[]; saveDefaultFilterValueOnReset?: boolean; } export declare function isMultipleEnumSelectHeaderInterface(i: HeaderInterface): i is MultipleEnumSelectHeaderInterface; /** * * Default select */ export interface DefaultSelectHeaderInterface extends HeaderInterface { type: 'defaultSelect'; selectedParam: string; selectedValueKey?: string; options: Array<{ id: string; name: string; }>; defaultValue?: { id: string; name: string; }; saveDefaultFilterValueOnReset?: boolean; } export declare function isDefaultSelectHeaderInterface(i: HeaderInterface): i is DefaultSelectHeaderInterface; export interface MultipleDefaultSelectHeaderInterface extends HeaderInterface { type: 'multipleDefaultSelect'; selectedParam: string; selectedValueKey?: string; options: Array<{ id: string; name: string; }>; defaultValue?: { id: string; name: string; }[]; saveDefaultFilterValueOnReset?: boolean; hideSearch?: boolean; } export declare function isMultipleDefaultSelectHeaderInterface(i: HeaderInterface): i is MultipleDefaultSelectHeaderInterface; /** * * Calendar */ export interface CalendarHeaderInterface extends HeaderInterface { type: 'calendar'; dateParam: string; defaultValue?: Moment; saveDefaultFilterValueOnReset?: boolean; } export declare function isCalendarHeaderInterface(i: HeaderInterface): i is CalendarHeaderInterface; export interface PeriodCalendarHeaderInterface extends HeaderInterface { type: 'periodCalendar'; endDateParam: string; startDateParam: string; arkspaceSerializationTypeParam?: string; isSetOnlyFullDate?: boolean; serializationType?: 'default' | 'arkspace'; defaultValue?: { startDate?: Moment; endDate?: Moment; }; saveDefaultFilterValueOnReset?: boolean; } export declare function isPeriodCalendarHeaderInterface(i: HeaderInterface): i is PeriodCalendarHeaderInterface; /** * * Range number */ export interface RangeNumberHeaderInterface extends HeaderInterface { type: 'rangeNumber'; fromParam: string; toParam: string; numberType?: 'Integer' | 'Float'; defaultValue?: { to?: number; from?: number; }; saveDefaultFilterValueOnReset?: boolean; serializationType?: 'default' | 'arkspace'; arkspaceSerializationTypeParam?: string; allowNegative?: boolean; } export declare function isRangeNumberHeaderInterface(i: HeaderInterface): i is RangeNumberHeaderInterface; export {};