import { AfterViewInit, ElementRef, OnInit, QueryList, Renderer2, OnDestroy } from '@angular/core';
import { FormGroup } from '@angular/forms';
import * as Ro from '@nakedobjects/restful-objects';
import { LoggerService } from '@nakedobjects/services';
import { ChoiceViewModel, DialogViewModel, DomainObjectViewModel, DragAndDropService, MenuViewModel, ParameterViewModel } from '@nakedobjects/view-models';
import { Dictionary } from 'lodash';
import { AutoCompleteComponent } from '../auto-complete/auto-complete.component';
import { DatePickerFacadeComponent } from '../date-picker-facade/date-picker-facade.component';
import { FieldComponent } from '../field/field.component';
import { TimePickerFacadeComponent } from '../time-picker-facade/time-picker-facade.component';
import * as i0 from "@angular/core";
export declare class EditParameterComponent extends FieldComponent implements OnInit, OnDestroy, AfterViewInit {
    constructor(loggerService: LoggerService, renderer: Renderer2, dragAndDrop: DragAndDropService);
    parm: ParameterViewModel;
    focusList?: QueryList<ElementRef | DatePickerFacadeComponent | TimePickerFacadeComponent | AutoCompleteComponent>;
    checkboxList?: QueryList<ElementRef>;
    parent: DialogViewModel | MenuViewModel | DomainObjectViewModel;
    set parameter(value: ParameterViewModel);
    get parameter(): ParameterViewModel;
    get parameterPaneId(): string;
    get title(): string;
    get parameterType(): "scalar" | "ref";
    get parameterEntryType(): Ro.EntryType;
    get parameterReturnType(): string;
    get format(): Ro.FormatType;
    get description(): string;
    get parameterId(): string;
    get choices(): ChoiceViewModel[];
    get isMultiline(): boolean;
    get isPassword(): boolean;
    get multilineHeight(): string;
    get rows(): number;
    get isEditable(): boolean;
    get formattedValue(): string;
    choiceName: (choice: ChoiceViewModel) => string;
    classes(): Dictionary<boolean | null>;
    set form(fm: FormGroup);
    get form(): FormGroup;
    ngOnInit(): void;
    isChoices(): boolean;
    isMultiple(): boolean;
    onKeydown(event: KeyboardEvent): void;
    onKeypress(event: KeyboardEvent): void;
    onClick(event: KeyboardEvent): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EditParameterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EditParameterComponent, "nof-edit-parameter", never, { "parent": { "alias": "parent"; "required": true; }; "parameter": { "alias": "parameter"; "required": true; }; "form": { "alias": "form"; "required": true; }; }, {}, never, never, false, never>;
}
