import { EventEmitter } from '@angular/core';
import { AfterViewInit } from '@angular/core';
import { NgControl, ControlValueAccessor } from '@angular/forms';
import { Http } from '@angular/http';
import { ApiRoot } from 'dotcms-js/dotcms-js';
export declare class RestDropdown implements AfterViewInit, ControlValueAccessor {
    private _http;
    private _apiRoot;
    control: NgControl;
    placeholder: string;
    allowAdditions: boolean;
    minSelections: number;
    maxSelections: number;
    optionUrl: string;
    optionValueField: string;
    optionLabelField: string;
    value: string;
    change: EventEmitter<any>;
    touch: EventEmitter<any>;
    private _modelValue;
    private _options;
    onChange: Function;
    onTouched: Function;
    constructor(_http: Http, _apiRoot: ApiRoot, control: NgControl);
    ngAfterViewInit(): void;
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    fireChange($event: any): void;
    fireTouch($event: any): void;
    ngOnChanges(change: any): void;
    private jsonEntriesToOptions(res);
    private jsonEntryToOption(json, key?);
}
