import { ChangeDetectorRef } from '@angular/core';
import { ElementRef, EventEmitter, OnInit, Renderer2 } from '@angular/core';
import { ControlContainer, FormControl, FormControlDirective, SelectControlValueAccessor } from '@angular/forms';
import { NgInputConfigService } from '../core/ng-input-config.service';
interface IObject {
    [key: string]: string;
}
interface IOnWrite {
    (value: any): void;
}
export declare class SelectCustomControlValueAccessor extends SelectControlValueAccessor implements OnInit {
    protected _controlContainer: ControlContainer;
    protected elementRef: ElementRef;
    protected renderer: Renderer2;
    private _configService;
    private _changeDetectorRef;
    formControlDirective: FormControlDirective;
    formControl: FormControl;
    formControlName: string;
    name?: string;
    disabled: boolean;
    help?: string;
    change: EventEmitter<any>;
    blur: EventEmitter<any>;
    focus: EventEmitter<any>;
    get _placeholder(): string | false;
    placeholder: string;
    label: string;
    _cols: {
        default: number;
        lg?: number;
        md?: number;
        sm?: number;
    };
    set cols(cols: {
        default?: number;
        lg?: number;
        md?: number;
        sm?: number;
    });
    _field: null | 'group' | 'floating';
    set field(value: 'group' | 'floating');
    get field(): 'group' | 'floating';
    readonly: boolean;
    required?: boolean;
    errors: IObject;
    get control(): FormControl;
    get classCols(): string;
    constructor(_controlContainer: ControlContainer, elementRef: ElementRef, renderer: Renderer2, _configService: NgInputConfigService, _changeDetectorRef: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnInitSuper(): void;
    getMultiLabels(labels: any, label: string[]): any;
    getKeys(errors: IObject): string[];
    getError(key: string): boolean;
    validRequired(): void;
    registerOnTouched(fn: any): void;
    onWrite: IOnWrite;
    registerOnChange(fn: IOnWrite): void;
    time: any;
    writeValue(obj: any): void;
    setDisabledState(isDisabled: boolean): void;
}
export {};
