import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, Injector, OnDestroy, OnInit } from '@angular/core'; import { ControlValueAccessor, NgControl } from '@angular/forms'; import type { GdsOption } from '@sebgroup/green-core/components/dropdown/index.js'; import { NggDropdownButtonDirective } from './dropdown-button.directive'; import { NggDropdownOptionDirective } from './dropdown-option.directive'; import * as i0 from "@angular/core"; export type CompareWith = (o1: T, o2: T) => boolean; export type SearchFilter = (search: string, value: T) => boolean; export type DropdownPlacements = 'bottom-start' | 'top-start'; export interface DropdownTexts { select?: string; selected?: string; placeholder?: string; } export interface DropdownOption { label?: string; value?: T; selected?: boolean; heading?: boolean; [key: string]: any; } /** * @deprecated * NggDropdown is deprecated in favor of GdsDropdown found in the Core package * https://storybook.seb.io/latest/core/?path=/docs/components-dropdown--docs */ export declare class NggDropdownComponent implements ControlValueAccessor, OnInit, OnDestroy, AfterViewInit { private injector; private _cdr; errorMessage?: string; errorMessageObserver?: MutationObserver; id?: string; loop?: boolean; display: string; useValue: string; label?: string; valid?: boolean; invalid?: boolean; compareWith?: CompareWith; searchFilter?: SearchFilter; syncPopoverWidth?: boolean; size?: 'small' | 'medium'; hideLabel?: boolean; maxHeight?: number; disableMobileStyles?: boolean; set options(value: DropdownOption[] | undefined); get options(): DropdownOption[] | undefined; private _options; set texts(texts: DropdownTexts | undefined); get texts(): DropdownTexts | undefined; private _texts; set multiSelect(value: string | boolean); get multiSelect(): boolean; private _multiSelect; set searchable(value: string | boolean); get searchable(): boolean; private _searchable; set value(newValue: any); get value(): any; private _value; get selectedOption(): DropdownOption | (DropdownOption | undefined)[] | undefined; onChangeFn?: (value: unknown) => void; onTouchedFn?: () => void; readonly valueChange: EventEmitter; readonly touched: EventEmitter; customOption?: NggDropdownOptionDirective; customButton?: NggDropdownButtonDirective; formInfoContent?: ElementRef; gdsDropdown?: ElementRef; onValueChange: (event: Event) => void; get control(): NgControl | undefined; constructor(injector: Injector, _cdr: ChangeDetectorRef); ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; writeValue(value: any): void; registerOnChange(fn: () => unknown): void; registerOnTouched(fn: () => void): void; compareWithAdapter: (o1: any, o2: any) => boolean; searchFilterAdapter: (q: string, o: GdsOption) => boolean; private convertToBoolean; private optionByValue; private displayTextByValue; private textToDisplay; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }