import { AngularDataContext } from '@themost/angular'; import { ComponentSchema } from 'formiojs'; import { TranslateService } from '@ngx-translate/core'; import { EventEmitter } from '@angular/core'; import * as i0 from "@angular/core"; export declare interface FormComponent extends ComponentSchema { components?: FormComponent[]; properties?: { entityType?: string; entitySet?: string; }; columns?: FormComponent[]; customConditional?: string; dataSrc?: string; data?: any; selectThreshold?: number; lazyLoad?: boolean; template?: string; valueProperty?: string; selectValues?: string; dataType?: string; idPath?: string; } export interface QueryElement { operator: string; left?: any; right?: any; type?: string; elements?: QueryElement[]; } export interface QueryProperty { label: string; value: string; type: string; entitySet?: string; hidden?: boolean; source?: string; template?: string; } export interface BasicQueryElement extends QueryElement { left: any; right: any; } export interface CompositeQueryElement extends QueryElement { elements: QueryElement[]; } export declare class QueryBuilderService { protected context: AngularDataContext; protected translateService: TranslateService; loadingComponent: EventEmitter; loadingProperties: EventEmitter; constructor(context: AngularDataContext, translateService: TranslateService); findComponent(element: FormComponent, label: string): any; private deepFindProperty; private deepFindAnyProperty; getQueryElementForm(entityType: string, extraOptions?: { includeProperties: string[]; }): Promise<{ settings: { i18n: { el: {}; en: {}; }; }; components: { label: string; columns: ({ components: { label: string; widget: string; hideLabel: boolean; tableView: boolean; dataSrc: string; data: { custom: string; }; customOptions: { shouldSort: boolean; searchResultLimit: number; removeItemButton: boolean; }; dataType: string; key: string; type: string; input: boolean; }[]; width: number; offset: number; push: number; pull: number; size: string; currentWidth: number; label?: undefined; columns?: undefined; key?: undefined; type?: undefined; input?: undefined; tableView?: undefined; } | { components: { label: string; customClass: string; widget: string; hideLabel: boolean; tableView: boolean; customOptions: { searchResultLimit: number; removeItemButton: boolean; }; data: { values: { label: string; value: string; }[]; }; key: string; type: string; input: boolean; }[]; width: number; offset: number; push: number; pull: number; size: string; currentWidth: number; label?: undefined; columns?: undefined; key?: undefined; type?: undefined; input?: undefined; tableView?: undefined; } | { label: string; columns: any[]; key: string; type: string; input: boolean; tableView: boolean; components?: undefined; width?: undefined; offset?: undefined; push?: undefined; pull?: undefined; size?: undefined; currentWidth?: undefined; } | { label: string; components: ({ label: string; hideLabel: boolean; tableView: boolean; disabled: boolean; key: string; type: string; customConditional: string; input: boolean; customClass?: undefined; widget?: undefined; data?: undefined; customProperties?: undefined; useLocaleSettings?: undefined; format?: undefined; hidden?: undefined; datePicker?: undefined; enableTime?: undefined; enableMinDateInput?: undefined; enableMaxDateInput?: undefined; customOptions?: undefined; labelPosition?: undefined; searchEnabled?: undefined; dataSrc?: undefined; selectThreshold?: undefined; lazyLoad?: undefined; template?: undefined; dataType?: undefined; idPath?: undefined; selectValues?: undefined; } | { label: string; hideLabel: boolean; tableView: boolean; key: string; type: string; customConditional: string; input: boolean; disabled?: undefined; customClass?: undefined; widget?: undefined; data?: undefined; customProperties?: undefined; useLocaleSettings?: undefined; format?: undefined; hidden?: undefined; datePicker?: undefined; enableTime?: undefined; enableMinDateInput?: undefined; enableMaxDateInput?: undefined; customOptions?: undefined; labelPosition?: undefined; searchEnabled?: undefined; dataSrc?: undefined; selectThreshold?: undefined; lazyLoad?: undefined; template?: undefined; dataType?: undefined; idPath?: undefined; selectValues?: undefined; } | { label: string; customClass: string; widget: string; hideLabel: boolean; tableView: boolean; key: string; data: { values: { label: string; value: string; }[]; url?: undefined; }; type: string; customConditional: string; input: boolean; disabled?: undefined; customProperties?: undefined; useLocaleSettings?: undefined; format?: undefined; hidden?: undefined; datePicker?: undefined; enableTime?: undefined; enableMinDateInput?: undefined; enableMaxDateInput?: undefined; customOptions?: undefined; labelPosition?: undefined; searchEnabled?: undefined; dataSrc?: undefined; selectThreshold?: undefined; lazyLoad?: undefined; template?: undefined; dataType?: undefined; idPath?: undefined; selectValues?: undefined; } | { label: string; customProperties: { target: string; }; useLocaleSettings: boolean; format: string; hideLabel: boolean; hidden: boolean; tableView: boolean; customConditional: string; datePicker: { disableWeekends: boolean; disableWeekdays: boolean; }; enableTime: boolean; enableMinDateInput: boolean; enableMaxDateInput: boolean; key: string; type: string; input: boolean; widget: { type: string; displayInTimezone: string; locale: string; useLocaleSettings: boolean; allowInput: boolean; mode: string; enableTime: boolean; noCalendar: boolean; format: string; hourIncrement: number; minuteIncrement: number; time_24hr: boolean; minDate: any; disableWeekends: boolean; disableWeekdays: boolean; maxDate: any; }; disabled?: undefined; customClass?: undefined; data?: undefined; customOptions?: undefined; labelPosition?: undefined; searchEnabled?: undefined; dataSrc?: undefined; selectThreshold?: undefined; lazyLoad?: undefined; template?: undefined; dataType?: undefined; idPath?: undefined; selectValues?: undefined; } | { label: string; customProperties: { target: string; }; customOptions: { placeholder: boolean; placeholderValue: string; }; labelPosition: string; widget: string; hideLabel: boolean; searchEnabled: boolean; dataSrc: string; customConditional: string; data: { values: any[]; url: string; }; selectThreshold: number; lazyLoad: boolean; template: string; dataType: string; idPath: string; selectValues: string; key: string; type: string; input: boolean; tableView?: undefined; disabled?: undefined; customClass?: undefined; useLocaleSettings?: undefined; format?: undefined; hidden?: undefined; datePicker?: undefined; enableTime?: undefined; enableMinDateInput?: undefined; enableMaxDateInput?: undefined; })[]; size: string; width: number; offset: number; push: number; pull: number; currentWidth: number; columns?: undefined; key?: undefined; type?: undefined; input?: undefined; tableView?: undefined; } | { components: ({ label: string; action: string; showValidations: boolean; theme: string; customClass: string; leftIcon: string; tableView: boolean; key: string; type: string; event: string; input: boolean; logic: { name: string; trigger: { type: string; simple: { show: boolean; when: string; eq: boolean; }; }; actions: { name: string; type: string; property: { label: string; value: string; type: string; }; state: boolean; }[]; }[]; block?: undefined; } | { label: string; action: string; showValidations: boolean; theme: string; block: boolean; customClass: string; tableView: boolean; key: string; type: string; event: string; input: boolean; logic: { name: string; trigger: { type: string; simple: { show: boolean; when: string; eq: boolean; }; }; actions: { name: string; type: string; property: { label: string; value: string; type: string; }; state: boolean; }[]; }[]; leftIcon?: undefined; })[]; size: string; width: number; offset: number; push: number; pull: number; currentWidth: number; label?: undefined; columns?: undefined; key?: undefined; type?: undefined; input?: undefined; tableView?: undefined; })[]; key: string; type: string; input: boolean; tableView: boolean; }[]; }>; getQueryFrom(element: QueryElement): string; getTextFrom(element: QueryElement): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }