import { AfterViewInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { SdSearch } from '@sd-angular/core/forms';
import { SdCustomValidator } from '@sd-angular/core/forms/models';
import { Subject } from 'rxjs';
import { SdFormGenericSelect, SdFormGenericSelectionItem } from '../../../../../../models';
import { FormGenericService } from '../../../../../../services';
import { Router } from '@angular/router';
import * as i0 from "@angular/core";
export declare class SelectComponent implements AfterViewInit, OnDestroy {
    #private;
    private router;
    private ref;
    private readonly formRenderService;
    setVariables: Subject<{
        key: string;
        value: any;
    }>;
    form: FormGroup<{}>;
    set _form(form: FormGroup);
    entity: Record<string, any>;
    set _entity(val: Record<string, any>);
    component: SdFormGenericSelect;
    set _component(val: SdFormGenericSelect);
    disabled: boolean;
    set _disabled(val: boolean | '' | undefined | null);
    required: boolean;
    set _required(val: boolean | '' | undefined | null);
    viewed: boolean;
    set _viewed(val: boolean | '' | undefined | null);
    validator?: SdCustomValidator;
    set _validator(validator: SdCustomValidator | undefined);
    items: SdFormGenericSelectionItem[] | SdSearch;
    constructor(router: Router, ref: ChangeDetectorRef, formRenderService: FormGenericService);
    hashedValues?: string;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onChanges: () => Promise<void>;
    onNavigate: (url: string) => void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "lib-select", never, { "setVariables": { "alias": "setVariables"; "required": true; }; "_form": { "alias": "form"; "required": true; }; "_entity": { "alias": "entity"; "required": true; }; "_component": { "alias": "component"; "required": true; }; "_disabled": { "alias": "disabled"; "required": false; }; "_required": { "alias": "required"; "required": false; }; "_viewed": { "alias": "viewed"; "required": false; }; "_validator": { "alias": "validator"; "required": false; }; }, {}, never, never, true, never>;
}
