import * as _sdcorejs_angular_forms_models from '@sdcorejs/angular/forms/models'; import { ɵSdFormControlParent as _SdFormControlParent, SdViewed, SdViewedInput, SdFormControl } from '@sdcorejs/angular/forms/models'; import * as _angular_core from '@angular/core'; import { ElementRef, TemplateRef } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { SdModal } from '@sdcorejs/angular/components/modal'; import { SdTree, SdTreeItemContext, SdTreeDataSource, SdTreeItem, SdTreeOption, SdTreeLoadErrorEvent, SdTreeComponentOption, SdTreeSelectionEvent } from '@sdcorejs/angular/components/tree'; type SdTreeSelectModel = TKey | TKey[] | null | undefined; type SdTreeSelectTemplateContext = SdTreeItemContext; declare class SdTreeSelectNodeTemplateDirective { readonly template: TemplateRef>; static ngTemplateContextGuard(_directive: SdTreeSelectNodeTemplateDirective, _context: unknown): _context is SdTreeSelectTemplateContext; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵdir: _angular_core.ɵɵDirectiveDeclaration, "ng-template[sdTreeSelectNode]", never, {}, {}, never, never, true, never>; } declare class SdTreeSelect { #private; readonly trigger: _angular_core.Signal | undefined>; readonly modal: _angular_core.Signal; readonly treeComponent: _angular_core.Signal | undefined>; readonly nodeTemplate: _angular_core.Signal | undefined>; readonly autoIdInput: _angular_core.InputSignal; readonly autoId: _angular_core.Signal; readonly name: _angular_core.InputSignal; readonly form: _angular_core.InputSignalWithTransform | undefined, _SdFormControlParent>; readonly label: _angular_core.InputSignal; readonly placeholder: _angular_core.InputSignal; readonly modalTitle: _angular_core.InputSignal; readonly ariaLabel: _angular_core.InputSignal; readonly items: _angular_core.InputSignal>>; readonly tree: _angular_core.InputSignal>; readonly valueField: _angular_core.InputSignal<(T extends object ? { [Key in keyof T & string]: T[Key] extends string | number | boolean | Function | Date | null | undefined ? Key : T[Key] extends any[] ? Key : T[Key] extends object ? Key | `${Key}.${T[Key] extends infer T_1 ? T_1 extends T[Key] ? T_1 extends object ? { [Key_1 in keyof T_1 & string]: T_1[Key_1] extends string | number | boolean | Function | Date | null | undefined ? Key_1 : T_1[Key_1] extends any[] ? Key_1 : T_1[Key_1] extends object ? Key_1 | `${Key_1}.${T_1[Key_1] extends infer T_2 ? T_2 extends T_1[Key_1] ? T_2 extends object ? { [Key_2 in keyof T_2 & string]: T_2[Key_2] extends string | number | boolean | Function | Date | null | undefined ? Key_2 : T_2[Key_2] extends any[] ? Key_2 : T_2[Key_2] extends object ? Key_2 | `${Key_2}.${T_2[Key_2] extends infer T_3 ? T_3 extends T_2[Key_2] ? T_3 extends object ? { [Key_3 in keyof T_3 & string]: T_3[Key_3] extends string | number | boolean | Function | Date | null | undefined ? Key_3 : T_3[Key_3] extends any[] ? Key_3 : T_3[Key_3] extends object ? Key_3 : Key_3; }[keyof T_3 & string] : string : never : never}` : Key_2; }[keyof T_2 & string] : string : never : never}` : Key_1; }[keyof T_1 & string] : string : never : never}` : Key; }[keyof T & string] : string) | undefined>; readonly keySelector: _angular_core.InputSignal<((item: T) => TKey) | undefined>; readonly displayField: _angular_core.InputSignal<(T extends object ? { [Key in keyof T & string]: T[Key] extends string | number | boolean | Function | Date | null | undefined ? Key : T[Key] extends any[] ? Key : T[Key] extends object ? Key | `${Key}.${T[Key] extends infer T_1 ? T_1 extends T[Key] ? T_1 extends object ? { [Key_1 in keyof T_1 & string]: T_1[Key_1] extends string | number | boolean | Function | Date | null | undefined ? Key_1 : T_1[Key_1] extends any[] ? Key_1 : T_1[Key_1] extends object ? Key_1 | `${Key_1}.${T_1[Key_1] extends infer T_2 ? T_2 extends T_1[Key_1] ? T_2 extends object ? { [Key_2 in keyof T_2 & string]: T_2[Key_2] extends string | number | boolean | Function | Date | null | undefined ? Key_2 : T_2[Key_2] extends any[] ? Key_2 : T_2[Key_2] extends object ? Key_2 | `${Key_2}.${T_2[Key_2] extends infer T_3 ? T_3 extends T_2[Key_2] ? T_3 extends object ? { [Key_3 in keyof T_3 & string]: T_3[Key_3] extends string | number | boolean | Function | Date | null | undefined ? Key_3 : T_3[Key_3] extends any[] ? Key_3 : T_3[Key_3] extends object ? Key_3 : Key_3; }[keyof T_3 & string] : string : never : never}` : Key_2; }[keyof T_2 & string] : string : never : never}` : Key_1; }[keyof T_1 & string] : string : never : never}` : Key; }[keyof T & string] : string) | undefined>; readonly displayWith: _angular_core.InputSignal<((item: T) => string) | undefined>; readonly compareWith: _angular_core.InputSignal<(left: TKey, right: TKey) => boolean>; readonly disabledNode: _angular_core.InputSignal<((item: T, selectedItems: T[]) => boolean) | undefined>; readonly multiple: _angular_core.InputSignalWithTransform; readonly cascade: _angular_core.InputSignal<"independent" | "descendants">; readonly required: _angular_core.InputSignalWithTransform; readonly clearable: _angular_core.InputSignalWithTransform; readonly disabled: _angular_core.InputSignalWithTransform; readonly readonly: _angular_core.InputSignalWithTransform; readonly viewed: _angular_core.InputSignalWithTransform; readonly model: _angular_core.ModelSignal>; readonly sdChange: _angular_core.OutputEmitterRef>; readonly sdLoadError: _angular_core.OutputEmitterRef>; readonly formControl: SdFormControl; readonly connectorState: _angular_core.Signal<_sdcorejs_angular_forms_models.ɵSdFormControlConnectorState>>; readonly draftKeys: _angular_core.WritableSignal; readonly modelKeys: _angular_core.Signal; readonly effectivePlaceholder: _angular_core.Signal; readonly effectiveModalTitle: _angular_core.Signal; readonly loadedEntities: _angular_core.Signal; readonly selectedEntities: _angular_core.Signal; readonly draftEntities: _angular_core.Signal; readonly displayText: _angular_core.Signal; readonly treeOption: _angular_core.Signal>; open(): void; applySelection(): void; cancel(): void; clear(event?: Event): void; onModalClosed(): void; onTreeSelection(event: SdTreeSelectionEvent): void; filter(value: string): void; retry(): void; keyOf(item: T): TKey; displayEntity(item: T): string; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "sd-tree-select", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "modalTitle": { "alias": "modalTitle"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "tree": { "alias": "tree"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "keySelector": { "alias": "keySelector"; "required": false; "isSignal": true; }; "displayField": { "alias": "displayField"; "required": false; "isSignal": true; }; "displayWith": { "alias": "displayWith"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "disabledNode": { "alias": "disabledNode"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "cascade": { "alias": "cascade"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "viewed": { "alias": "viewed"; "required": false; "isSignal": true; }; "model": { "alias": "model"; "required": false; "isSignal": true; }; }, { "model": "modelChange"; "sdChange": "sdChange"; "sdLoadError": "sdLoadError"; }, ["nodeTemplate"], never, true, never>; } declare function normalizeTreeSelectKeys(value: SdTreeSelectModel, multiple: boolean): TKey[]; export { SdTreeSelect, SdTreeSelectNodeTemplateDirective, normalizeTreeSelectKeys }; export type { SdTreeSelectModel, SdTreeSelectTemplateContext };