import { ChangeDetectorRef, ElementRef, TemplateRef } from '@angular/core';
import { Observable } from 'rxjs';
import { ComponentSize } from '../../internal/types';
import { Bem } from '../../internal/utils';
import { BaseSelect } from '../base-select';
import * as i0 from "@angular/core";
export declare class OptionComponent<T> {
    private readonly cdr;
    bem: Bem;
    private _disabled;
    private _label;
    private _labelContext;
    private _value;
    private readonly label$$;
    private readonly labelContext$$;
    private readonly value$$;
    private readonly disabled$$;
    get label(): string | TemplateRef<unknown>;
    set label(val: string | TemplateRef<unknown>);
    get labelContext(): unknown;
    set labelContext(val: unknown);
    get value(): T;
    set value(val: T);
    get disabled(): boolean;
    set disabled(val: boolean | '');
    isMulti: boolean;
    elRef: ElementRef<HTMLDivElement>;
    private readonly select;
    selected: boolean;
    visible: boolean;
    size: ComponentSize;
    focused: boolean;
    value$: Observable<T>;
    label$: Observable<string | TemplateRef<unknown>>;
    labelContext$: Observable<unknown>;
    disabled$: Observable<boolean>;
    selected$: Observable<boolean>;
    size$: Observable<ComponentSize>;
    visible$: Observable<boolean>;
    constructor(cdr: ChangeDetectorRef, select: BaseSelect<T>);
    onClick(): void;
    focus(): void;
    blur(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<OptionComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OptionComponent<any>, "aui-option", never, { "label": { "alias": "label"; "required": false; }; "labelContext": { "alias": "labelContext"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*"], true, never>;
}
