import { ElementRef, OnChanges, Renderer2, SimpleChanges } from '@angular/core';
import { FormControl } from '@angular/forms';
import { BaseFormControlComponent } from '../../../../shared/base/base-form-control.component';
import { FormControlComponentModel } from '../../../../core/models/component-models/form-control-component.model';
import { DomSanitizer } from '@angular/platform-browser';
import { DataPopulationRuleService } from '../../../../features/data-population/services/data-population-rule.service';
import { FormSubmitBroadcastService } from '../../../../core/services/form-submit-broadcast.service';
import { DprOptionModel } from '../../../../features/data-population/models/dpr-option.model';
import { PaginationHelper } from '../../../../shared/utilities/pagination-helper';
import * as i0 from "@angular/core";
export declare class SelectComponent extends BaseFormControlComponent<FormControlComponentModel, FormControl> implements OnChanges {
    private dpService;
    protected submitBroadcastService: FormSubmitBroadcastService;
    private renderer;
    private el;
    dropdownOpen: boolean;
    /** Pagination helper instance for paginated option loading */
    pager: PaginationHelper<DprOptionModel>;
    constructor(sanitizer: DomSanitizer, dpService: DataPopulationRuleService, submitBroadcastService: FormSubmitBroadcastService, renderer: Renderer2, el: ElementRef);
    /**
     * Lifecycle hook triggered when input properties change.
     * Handles re-initialization of pager and config updates.
     *
     * @param changes - The object containing property change information.
     */
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * Attaches an event listener for handling dropdown selection.
     */
    private setupDropdownClickListener;
    /**
     * Toggles the dropdown menu.
     */
    toggleDropdown(): void;
    /**
     * Handles dropdown item selection and updates form values.
     * @param target The clicked dropdown item element.
     */
    private onDropdownItemClick;
    /**
     * Returns the currently loaded options from pager.
     */
    get options(): DprOptionModel[];
    /** Loads the next page of radio options */
    nextPage(): void;
    /** Loads the previous page of radio options */
    previousPage(): void;
    /** TrackBy function for *ngFor to optimize DOM re-rendering */
    trackByValue: (_i: number, o: DprOptionModel) => any;
    /**
     * Lifecycle hook triggered on component destruction.
     * Cleans up pager resources and calls base class destroy logic.
     */
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "nju-select", never, {}, {}, never, never, false, never>;
}
