import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core';
import { SwitcherItem, SwitcherConfiguration } from './switcher.entities';
import { UniqueIdService } from '@ironsource/fusion-ui/services/unique-id';
import * as i0 from "@angular/core";
export declare class SwitcherComponent implements OnInit {
    private uniqueService;
    private changeDetectorRef;
    /**
     * Configuration:
     * type SwitcherConfiguration = {
     *     name?: string;
     *     size?: 'large';
     * };
     */
    set configuration(value: SwitcherConfiguration);
    /**
     * Switcher options: interface SwitcherItem {
     *     id: number | string;
     *     title: string;
     * }
     */
    options: SwitcherItem[];
    /**
     * On selection changed. But better use formControl
     * @internal
     */
    selectedChange: EventEmitter<SwitcherItem>;
    /** @internal */
    id: string;
    /** @internal */
    switcherConfiguration: SwitcherConfiguration;
    /** @internal */
    selected: SwitcherItem;
    constructor(uniqueService: UniqueIdService, changeDetectorRef: ChangeDetectorRef);
    ngOnInit(): void;
    /** @internal */
    isSelected(item: SwitcherItem): boolean;
    /** @internal */
    setSelection(selected: SwitcherItem): void;
    /** @internal */
    propagateChange: (_: SwitcherItem) => void;
    /** @internal */
    propagateTouched: () => void;
    /** @internal */
    writeValue(value: SwitcherItem): void;
    /** @ignore */
    registerOnChange(fn: any): void;
    /** @ignore */
    registerOnTouched(fn: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SwitcherComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SwitcherComponent, "fusion-switcher", never, { "configuration": { "alias": "configuration"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "selectedChange": "selectedChange"; }, never, never, false, never>;
}
