import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { SegmentedControlButtonComponent } from '../segmented-control-button/segmented-control-button.component';
import { SegmentedControlSize } from './segmented-control.model';
import * as i0 from "@angular/core";
export declare class SegmentedControlComponent implements ControlValueAccessor, AfterViewInit, OnDestroy {
    private cdr;
    private readonly segmentedControlClass;
    /**
     * @ignore
     */
    private unsubscribe;
    /**
     * @ignore
     */
    private _onChange;
    /**
     * @ignore
     */
    private _onTouched;
    /**
     * @ignore
     */
    private _isDisabled;
    /**
     * @ignore
     */
    private _value;
    /**
     * @ignore
     */
    segmentedButtons: SegmentedControlButtonComponent[];
    /**
     * Selected value
     */
    set value(value: string);
    get value(): string;
    /**
     * Selected aria label
     */
    ariaLabel: string;
    /**
     * Overrides disabled state on all buttons
     */
    set isDisabled(value: boolean);
    get isDisabled(): boolean;
    /**
     * Segmented Control size
     */
    size: SegmentedControlSize;
    /**
     * @ignore
     */
    segmentedButtonsList: QueryList<SegmentedControlButtonComponent>;
    /**
     * @ignore
     */
    segmentedControl: ElementRef<HTMLDivElement>;
    /**
     * Output that emits value change
     */
    valueChange: EventEmitter<string>;
    constructor(cdr: ChangeDetectorRef);
    ngAfterViewInit(): void;
    private setButtonsIsDisabled;
    ngOnDestroy(): void;
    /**
     * @ignore
     */
    private initializeClickListener;
    private setActive;
    /**
     * @ignore
     */
    getSizeClass(): string;
    /**
     * @ignore
     */
    writeValue(value: any): void;
    /**
     * @ignore
     */
    registerOnChange(fn: any): void;
    /**
     * @ignore
     */
    registerOnTouched(fn: any): void;
    /**
     * @ignore
     */
    setDisabledState?(isDisabled: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SegmentedControlComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SegmentedControlComponent, "nj-segmented-control", never, { "value": { "alias": "value"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "valueChange": "valueChange"; }, ["segmentedButtonsList"], ["*"], true, never>;
}
