import { EventEmitter, ChangeDetectorRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import * as i0 from "@angular/core";
export declare class SelectInputComponent implements ControlValueAccessor {
    private cdr;
    label: string;
    id: string;
    required: boolean;
    disabled: boolean;
    options: {
        value: string | null;
        label: string;
    }[];
    errorMessage?: string;
    valueChange: EventEmitter<string | null>;
    value: string | null;
    constructor(cdr: ChangeDetectorRef);
    onChangeFn: (_: any) => void;
    onTouchedFn: () => void;
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    trackByOptionValue(_: number, option: {
        value: string | null;
        label: string;
    }): string | null;
    onChange(event: Event): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SelectInputComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SelectInputComponent, "cardinal-select-input", never, { "label": { "alias": "label"; "required": true; }; "id": { "alias": "id"; "required": true; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "options": { "alias": "options"; "required": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
}
