import { OnInit, OnChanges, EventEmitter, ElementRef, OnDestroy, Renderer2 } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { MatSelect } from '@angular/material/select';
import { LAYOUT_TYPE, CustomizationService } from '@pepperi/lib';
import * as i0 from "@angular/core";
export declare class PepperiSelectComponent implements OnChanges, OnInit, OnDestroy {
    private customizationService;
    private renderer;
    private element;
    key: string;
    value: string;
    formattedValue: string;
    label: string;
    type: string;
    required: boolean;
    disabled: boolean;
    readonly: boolean;
    xAlignment: string;
    rowSpan: number;
    options: any;
    controlType: string;
    form: FormGroup;
    layoutType: LAYOUT_TYPE;
    parentFieldKey: string;
    isActive: boolean;
    showTitle: boolean;
    emptyOption: boolean;
    valueChanged: EventEmitter<any>;
    formValidationChanged: EventEmitter<boolean>;
    select: MatSelect;
    LAYOUT_TYPE: typeof LAYOUT_TYPE;
    standAlone: boolean;
    isInEditMode: boolean;
    isMulti: boolean;
    selectedValuesModel: string[];
    selectedValueModel: string;
    fieldFormattedValue: string;
    constructor(customizationService: CustomizationService, renderer: Renderer2, element: ElementRef);
    private addOptionsIfNeeded;
    ngOnInit(): void;
    ngOnChanges(changes: any): void;
    ngOnDestroy(): void;
    selectionChange(event: any): void;
    openedChange(event: any): void;
    changeValue(value: any): void;
    cardTemplateClicked(event: any): void;
    static ɵfac: i0.ɵɵFactoryDef<PepperiSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<PepperiSelectComponent, "pep-select", never, { "key": "key"; "value": "value"; "formattedValue": "formattedValue"; "label": "label"; "type": "type"; "required": "required"; "disabled": "disabled"; "readonly": "readonly"; "xAlignment": "xAlignment"; "rowSpan": "rowSpan"; "options": "options"; "form": "form"; "layoutType": "layoutType"; "parentFieldKey": "parentFieldKey"; "isActive": "isActive"; "showTitle": "showTitle"; "emptyOption": "emptyOption"; }, { "valueChanged": "valueChanged"; "formValidationChanged": "formValidationChanged"; }, never, never>;
}
