import * as _angular_core from '@angular/core'; import { ElementRef } from '@angular/core'; import { FormControl } from '@angular/forms'; import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete'; import { GenericObjectType } from '@yuuvis/client-core'; type TokenKind = 'type' | 'field' | 'operator' | 'value' | 'combinator'; interface SearchToken { kind: TokenKind; /** Unique per-token id for tracking */ uid: string; /** Machine-readable value: typeId, fieldId, operator key, literal value, 'AND'|'OR' */ id: string; /** Human-readable display text */ label: string; /** For field/operator/value tokens: which type they belong to */ typeId?: string; /** For field tokens: the propertyType (string, integer, datetime, boolean) */ fieldType?: string; /** Whether this type token represents a secondary object type */ isSot?: boolean; /** For value tokens: the operator that precedes them */ operator?: string; } type Combinator = 'AND' | 'OR'; type BuildStep = 'type' | 'field' | 'operator' | 'value'; interface SuggestionItem { kind: 'type' | 'field' | 'operator' | 'date-preset'; id: string; label: string; fieldType?: string; operator?: string; } declare class TokenSearchComponent { #private; types: _angular_core.InputSignal; queryChange: _angular_core.OutputEmitterRef; searchCtrl: FormControl; searchInput: _angular_core.Signal | undefined>; tokens: _angular_core.WritableSignal; step: _angular_core.WritableSignal; inputTerm: _angular_core.WritableSignal; /** Pending state for the group currently being built (not yet committed) */ pendingTypeId: _angular_core.WritableSignal; pendingTypeLabel: _angular_core.WritableSignal; pendingTypeIsSot: _angular_core.WritableSignal; pendingField: _angular_core.WritableSignal; pendingOperator: _angular_core.WritableSignal; objectTypes: _angular_core.Signal; placeholderText: _angular_core.Signal; suggestions: _angular_core.Signal; cmisQuery: _angular_core.Signal; constructor(); displayFn: () => string; onSuggestionSelected(event: MatAutocompleteSelectedEvent): void; onKeydown(event: KeyboardEvent): void; onTokenClick(index: number): void; removeTokenGroup(index: number): void; onBarClick(event: MouseEvent): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class YuvTokenSearchModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } export { TokenSearchComponent, YuvTokenSearchModule }; export type { BuildStep, Combinator, SearchToken, SuggestionItem, TokenKind };