import { IgcExpressionTree } from './igc-expression-tree';
import { IgcEntityType } from './igc-entity-type';
import { IgcQueryBuilderResourceStrings } from './igc-query-builder-resource-strings';
import { IgcQueryBuilderSearchValueContext } from './igc-query-builder-search-value-context';
import { IgcRenderFunction } from './common';
import { IgcQueryBuilderHeaderComponent } from './igc-query-builder-header-component';
import { EventEmitterMixin, LitElement, Constructor, AbstractConstructor } from './common';
/* wcElementTag: igc-query-builder */
/* blazorIndirectRender */
/**
* A component used for operating with complex filters by creating or editing conditions
* and grouping them using AND/OR logic.
* It is used internally in the Advanced Filtering of the Grid.
*
* @example
* ```html
*
*
* ```
*/
export declare class IgcQueryBuilderComponent extends EventEmitterMixin>(LitElement)
{
/* blazorSuppress */
static readonly tagName: string;
/* blazorSuppress */
static register(): void;
/**
* Gets/sets whether the confirmation dialog should be shown when changing entity.
* Default value is `true`.
*/
public set showEntityChangeDialog(value: boolean);
public get showEntityChangeDialog(): boolean;
/**
* Gets the list of entities available for the IgxQueryBuilderComponent.
*
* Each entity describes a logical group of fields that can be used in queries.
* An entity can optionally have child entities, allowing nested sub-queries.
*
* @returns An array of {@link EntityType} objects.
*/
public set entities(value: IgcEntityType[]);
public get entities(): IgcEntityType[];
/**
* Returns the expression tree.
*/
public set expressionTree(value: IgcExpressionTree);
public get expressionTree(): IgcExpressionTree;
/**
* Gets the `locale` of the query builder.
* If not set, defaults to application's locale.
*/
public set locale(value: string);
public get locale(): string;
/**
* Sets the resource strings.
* By default it uses EN resources.
*/
public set resourceStrings(value: IgcQueryBuilderResourceStrings);
public get resourceStrings(): IgcQueryBuilderResourceStrings;
/**
* Disables subsequent entity changes at the root level after the initial selection.
*/
public set disableEntityChange(value: boolean);
public get disableEntityChange(): boolean;
/**
* Sets/gets the search value template.
*/
public set searchValueTemplate(value: IgcRenderFunction);
public get searchValueTemplate(): IgcRenderFunction;
/**
* Disables return fields changes at the root level.
*/
public set disableReturnFieldsChange(value: boolean);
public get disableReturnFieldsChange(): boolean;
/* contentChildren */
/* blazorInclude */
/* blazorTreatAsCollection */
/* blazorCollectionName: QueryBuilderHeaderCollection */
/* blazorCollectionItemName: QueryBuilderHeader */
/* ngQueryListName: queryBuilderHeaderCollection */
/** @hidden @internal */
public set queryBuilderHeaderCollection(value: IgcQueryBuilderHeaderComponent[]);
public get queryBuilderHeaderCollection(): IgcQueryBuilderHeaderComponent[];
/**
* Returns whether the expression tree can be committed in the current state.
*/
public canCommit(): boolean;
/**
* Commits the expression tree in the current state if it is valid. If not throws an exception.
*/
public commit(): void;
/**
* Discards all unsaved changes to the expression tree.
*/
public discard(): void;
}
export declare interface IgcQueryBuilderComponentEventMap {
/**
* Event fired as the expression tree is changed.
*
* ```html
*
* ```
*/
expressionTreeChange: CustomEvent;
}