import { LitElement } from 'lit'; import type { RuleGroupType, QueryField, QueryOption, QueryBuilderSize } from './defs/types'; import './queryBuilderRule'; import '../button'; import '../buttonGroup'; /** * Query Builder Group component. * Represents a group of rules with a combinator (AND/OR). * * @fires on-group-change - Emits when the group changes. `detail: { group: RuleGroupType, path: number[] }` * @fires on-group-remove - Emits when the group should be removed. `detail: { groupId: string, path: number[] }` * @fires on-group-clone - Emits when the group should be cloned. `detail: { groupId: string, path: number[] }` * @fires on-group-lock - Emits when the group lock state changes. `detail: { groupId: string, disabled: boolean, path: number[] }` */ export declare class QueryBuilderGroup extends LitElement { static styles: import("lit").CSSResult; /** The group data */ accessor group: RuleGroupType; /** Available fields for rules */ accessor fields: QueryField[]; /** Available combinators */ accessor combinators: QueryOption[]; /** Path to this group in the query tree */ accessor path: number[]; /** Current depth level (0 = root) */ accessor depth: number; /** Maximum allowed depth */ accessor maxDepth: number; /** Whether this is the root group */ accessor isRoot: boolean; /** Whether to show clone button */ accessor showCloneButton: boolean; /** Whether to show lock button */ accessor showLockButton: boolean; /** Whether drag and drop is disabled */ accessor disableDragAndDrop: boolean; /** Whether the group is disabled/locked */ accessor disabled: boolean; /** Number of siblings at this level (used to determine if drag handle should show at depth 1) */ accessor siblingCount: number; /** Text strings for i18n */ accessor textStrings: Record; /** Size of child components */ accessor size: QueryBuilderSize; /** Minimum number of dropdown options before search is shown. */ accessor searchThreshold: number; /** Current drag over index for drop indicator */ accessor _dragOverIndex: number | null; render(): import("lit-html").TemplateResult<1>; private _renderHeader; private _renderDragHandle; private _renderCombinatorToggle; private _handleCombinatorGroupChange; private _renderRules; private _renderEmptyState; private _renderRuleOrGroup; /** Check if this is the last rule (not group) in the rules array */ private _isLastRule; private _handleCombinatorChange; private _handleAddRule; private _handleAddRuleAfter; private _addNewRule; private _handleAddGroup; private _handleRuleChange; private _handleRuleRemove; private _handleRuleClone; private _handleRuleLock; private _handleNestedGroupChange; private _handleNestedGroupRemove; private _handleNestedGroupClone; private _handleNestedGroupLock; private _handleRemoveGroup; private _handleCloneGroup; private _handleLockToggle; private _emitGroupChange; private _deepCloneGroup; private _handleDragStart; private _handleDragEnd; private _handleItemDragOver; private _handleItemDragLeave; private _handleItemDrop; private _handleGroupDragOver; private _handleGroupDrop; private _handleNestedItemMove; } declare global { interface HTMLElementTagNameMap { 'kyn-qb-group': QueryBuilderGroup; } } //# sourceMappingURL=queryBuilderGroup.d.ts.map