import { TemplateRef, EventEmitter, ViewContainerRef, Injector, ComponentFactoryResolver, AfterViewInit, AfterContentInit, Renderer2, QueryList, NgZone } from '@angular/core';
import { XButtonGroup } from "./XButtonGroup";
import { IgxXButtonComponent } from './igx-x-button-component';
import { IgxXButtonGroupButtonCollection } from './igx-x-button-group-button-collection';
import { IgxButtonGroupSelectionChangedEventArgs } from './igx-button-group-selection-changed-event-args';
import { ButtonGroupOrientation } from './ButtonGroupOrientation';
import { ControlDisplayDensity } from "igniteui-angular-core";
import { BaseControlTheme } from "igniteui-angular-core";
import { ButtonGroupDisplayStyle } from './ButtonGroupDisplayStyle';
import * as i0 from "@angular/core";
export declare class IgxXButtonGroupComponent implements AfterViewInit, AfterContentInit {
    private renderer;
    private _elRef;
    private ngZone;
    private injector;
    private componentFactoryResolver;
    container: Element;
    private _wrapper;
    private _portalManager;
    private _root;
    _dynamicContent: ViewContainerRef;
    _childTemplateRef: TemplateRef<any>;
    contentButtons: QueryList<IgxXButtonComponent>;
    /**
    * The style mappings actually present in the chart. Do not directly modify this array.
    * This array's contents can be modified by causing Angular to reproject the child content.
    * Or adding and removing stye mappings from the manual style mapping collection on the styleMappings property.
    */
    actualButtons: IgxXButtonComponent[];
    private _buttons;
    private _buttonsAdapter;
    /**
     * A collection or manually added axes for the chart.
    */
    get buttons(): IgxXButtonGroupButtonCollection;
    constructor(renderer: Renderer2, _elRef: ViewContainerRef, ngZone: NgZone, injector: Injector, componentFactoryResolver: ComponentFactoryResolver);
    updateStyle(): void;
    ngOnDestroy(): void;
    private _implementation;
    ngAfterContentInit(): void;
    ngAfterViewInit(): void;
    protected createImplementation(): XButtonGroup;
    get i(): XButtonGroup;
    private _buttonGroup;
    /**
 * Gets or sets the display style to use for the button.
*/
    get displayType(): ButtonGroupDisplayStyle;
    set displayType(v: ButtonGroupDisplayStyle);
    static ngAcceptInputType_displayType: ButtonGroupDisplayStyle | string;
    /**
     * Gets or sets the base built in theme to use for the button group.
    */
    get baseTheme(): BaseControlTheme;
    set baseTheme(v: BaseControlTheme);
    static ngAcceptInputType_baseTheme: BaseControlTheme | string;
    /**
     * Gets or sets the display density to use for the button group.
    */
    get density(): ControlDisplayDensity;
    set density(v: ControlDisplayDensity);
    static ngAcceptInputType_density: ControlDisplayDensity | string;
    /**
     * Gets the actual display density to use for the button group.
    */
    get actualDensity(): ControlDisplayDensity;
    set actualDensity(v: ControlDisplayDensity);
    static ngAcceptInputType_actualDensity: ControlDisplayDensity | string;
    /**
     * Gets the currently selected button indices.
    */
    get selectedIndices(): number[];
    set selectedIndices(v: number[]);
    static ngAcceptInputType_selectedIndices: number[] | string;
    /**
     * Gets the actual item corner radius for the appropriate corners.
    */
    get actualItemCornerRadius(): number;
    set actualItemCornerRadius(v: number);
    static ngAcceptInputType_actualItemCornerRadius: number | string;
    /**
     * Gets the actual item background color.
    */
    get actualItemBackgroundColor(): string;
    set actualItemBackgroundColor(v: string);
    /**
     * Gets the actual item background color.
    */
    get actualItemDisabledBackgroundColor(): string;
    set actualItemDisabledBackgroundColor(v: string);
    /**
     * Gets the actual item text color.
    */
    get actualItemTextColor(): string;
    set actualItemTextColor(v: string);
    /**
     * Gets the actual item text color.
    */
    get actualItemDisabledTextColor(): string;
    set actualItemDisabledTextColor(v: string);
    /**
     * Gets the actual item border color.
    */
    get actualItemBorderColor(): string;
    set actualItemBorderColor(v: string);
    /**
     * Gets the actual item border color.
    */
    get actualItemDisabledBorderColor(): string;
    set actualItemDisabledBorderColor(v: string);
    /**
     * Gets the actual item border width.
    */
    get actualItemBorderWidth(): number;
    set actualItemBorderWidth(v: number);
    static ngAcceptInputType_actualItemBorderWidth: number | string;
    /**
     * Gets the actual selected item background color.
    */
    get actualSelectedItemBackgroundColor(): string;
    set actualSelectedItemBackgroundColor(v: string);
    /**
     * Gets the stroke actual selected item text color.
    */
    get actualSelectedItemTextColor(): string;
    set actualSelectedItemTextColor(v: string);
    /**
     * Gets the actual item hovered background color.
    */
    get actualItemHoverBackgroundColor(): string;
    set actualItemHoverBackgroundColor(v: string);
    /**
     * Gets the actual item text color.
    */
    get actualItemHoverTextColor(): string;
    set actualItemHoverTextColor(v: string);
    /**
     * Gets the actual selected item hovered background color.
    */
    get actualSelectedItemHoverBackgroundColor(): string;
    set actualSelectedItemHoverBackgroundColor(v: string);
    /**
     * Gets the actual selected item hovered text color.
    */
    get actualSelectedItemHoverTextColor(): string;
    set actualSelectedItemHoverTextColor(v: string);
    /**
     * Gets or sets the corner radius to use for the appropriate corners for the item buttons.
    */
    get itemCornerRadius(): number;
    set itemCornerRadius(v: number);
    static ngAcceptInputType_itemCornerRadius: number | string;
    /**
     * Gets or sets the color to use the background of the buttons in the group.
    */
    get itemBackgroundColor(): string;
    set itemBackgroundColor(v: string);
    /**
     * Gets or sets the disabled color to use the background of the buttons in the group.
    */
    get itemDisabledBackgroundColor(): string;
    set itemDisabledBackgroundColor(v: string);
    /**
     * Gets or sets the color to use the text of the buttons in the group.
    */
    get itemTextColor(): string;
    set itemTextColor(v: string);
    /**
     * Gets or sets the disabled color to use the text of the buttons in the group.
    */
    get itemDisabledTextColor(): string;
    set itemDisabledTextColor(v: string);
    /**
     * Gets or sets the color to use the hovered background of the buttons in the group.
    */
    get itemHoverBackgroundColor(): string;
    set itemHoverBackgroundColor(v: string);
    /**
     * Gets or sets the color to use the border of the buttons in the group.
    */
    get itemBorderColor(): string;
    set itemBorderColor(v: string);
    /**
     * Gets or sets the disabled color to use the border of the buttons in the group.
    */
    get itemDisabledBorderColor(): string;
    set itemDisabledBorderColor(v: string);
    /**
     * Gets or sets the border width to use for the buttons in the group.
    */
    get itemBorderWidth(): number;
    set itemBorderWidth(v: number);
    static ngAcceptInputType_itemBorderWidth: number | string;
    /**
     * Gets or sets the color to use the hovered text of the buttons in the group.
    */
    get itemHoverTextColor(): string;
    set itemHoverTextColor(v: string);
    /**
     * Gets or sets the color to use the background of the buttons in the group that are selected.
    */
    get selectedItemBackgroundColor(): string;
    set selectedItemBackgroundColor(v: string);
    /**
     * Gets or sets the color to use the text of the buttons in the group that are selected.
    */
    get selectedItemTextColor(): string;
    set selectedItemTextColor(v: string);
    /**
     * Gets or sets the color to use the hovered background of the buttons in the group that are selected.
    */
    get selectedItemHoverBackgroundColor(): string;
    set selectedItemHoverBackgroundColor(v: string);
    /**
     * Gets or sets the color to use the hovered text of the buttons in the group that are selected.
    */
    get selectedItemHoverTextColor(): string;
    set selectedItemHoverTextColor(v: string);
    /**
     * Gets or sets the corner radius to use for the appropriate corners for the outlined type item buttons.
    */
    get outlinedItemCornerRadius(): number;
    set outlinedItemCornerRadius(v: number);
    static ngAcceptInputType_outlinedItemCornerRadius: number | string;
    /**
     * Gets or sets the color to use the background of the buttons in the group when type is outlined.
    */
    get outlinedItemBackgroundColor(): string;
    set outlinedItemBackgroundColor(v: string);
    /**
     * Gets or sets the disabled color to use the background of the buttons in the group when type is outlined.
    */
    get outlinedItemDisabledBackgroundColor(): string;
    set outlinedItemDisabledBackgroundColor(v: string);
    /**
     * Gets or sets the color to use the text of the buttons in the group when type is outlined.
    */
    get outlinedItemTextColor(): string;
    set outlinedItemTextColor(v: string);
    /**
     * Gets or sets the disabled color to use the text of the buttons in the group when type is outlined.
    */
    get outlinedItemDisabledTextColor(): string;
    set outlinedItemDisabledTextColor(v: string);
    /**
     * Gets or sets the color to use the hovered background of the buttons in the group when type is outlined.
    */
    get outlinedItemHoverBackgroundColor(): string;
    set outlinedItemHoverBackgroundColor(v: string);
    /**
     * Gets or sets the color to use the border of the buttons in the group when type is outlined.
    */
    get outlinedItemBorderColor(): string;
    set outlinedItemBorderColor(v: string);
    /**
     * Gets or sets the disabled color to use the border of the buttons in the group when type is outlined.
    */
    get outlinedItemDisabledBorderColor(): string;
    set outlinedItemDisabledBorderColor(v: string);
    /**
     * Gets or sets the border width to use for the buttons in the group when type is outlined.
    */
    get outlinedItemBorderWidth(): number;
    set outlinedItemBorderWidth(v: number);
    static ngAcceptInputType_outlinedItemBorderWidth: number | string;
    /**
     * Gets or sets the color to use the hovered text of the buttons in the group when type is outlined.
    */
    get outlinedItemHoverTextColor(): string;
    set outlinedItemHoverTextColor(v: string);
    /**
     * Gets or sets the color to use the background of the buttons in the group that are selected when type is outlined.
    */
    get outlinedSelectedItemBackgroundColor(): string;
    set outlinedSelectedItemBackgroundColor(v: string);
    /**
     * Gets or sets the color to use the text of the buttons in the group that are selected when type is outlined.
    */
    get outlinedSelectedItemTextColor(): string;
    set outlinedSelectedItemTextColor(v: string);
    /**
     * Gets or sets the color to use the hovered background of the buttons in the group that are selected when type is outlined.
    */
    get outlinedSelectedItemHoverBackgroundColor(): string;
    set outlinedSelectedItemHoverBackgroundColor(v: string);
    /**
     * Gets or sets the color to use the hovered text of the buttons in the group that are selected when type is outlined.
    */
    get outlinedSelectedItemHoverTextColor(): string;
    set outlinedSelectedItemHoverTextColor(v: string);
    /**
     * Gets or sets the corner radius to use for the appropriate corners for the flat type item buttons.
    */
    get flatItemCornerRadius(): number;
    set flatItemCornerRadius(v: number);
    static ngAcceptInputType_flatItemCornerRadius: number | string;
    /**
     * Gets or sets the color to use the background of the buttons in the group when type is flat.
    */
    get flatItemBackgroundColor(): string;
    set flatItemBackgroundColor(v: string);
    /**
     * Gets or sets the disabled color to use the background of the buttons in the group when type is flat.
    */
    get flatItemDisabledBackgroundColor(): string;
    set flatItemDisabledBackgroundColor(v: string);
    /**
     * Gets or sets the color to use the text of the buttons in the group when type is flat.
    */
    get flatItemTextColor(): string;
    set flatItemTextColor(v: string);
    /**
     * Gets or sets the disabled color to use the text of the buttons in the group when type is flat.
    */
    get flatItemDisabledTextColor(): string;
    set flatItemDisabledTextColor(v: string);
    /**
     * Gets or sets the color to use the hovered background of the buttons in the group when type is flat.
    */
    get flatItemHoverBackgroundColor(): string;
    set flatItemHoverBackgroundColor(v: string);
    /**
     * Gets or sets the color to use the border of the buttons in the group when type is flat.
    */
    get flatItemBorderColor(): string;
    set flatItemBorderColor(v: string);
    /**
     * Gets or sets the disabled color to use the border of the buttons in the group when type is flat.
    */
    get flatItemDisabledBorderColor(): string;
    set flatItemDisabledBorderColor(v: string);
    /**
     * Gets or sets the border width to use for the buttons in the group when type is flat.
    */
    get flatItemBorderWidth(): number;
    set flatItemBorderWidth(v: number);
    static ngAcceptInputType_flatItemBorderWidth: number | string;
    /**
     * Gets or sets the color to use the hovered text of the buttons in the group when type is flat.
    */
    get flatItemHoverTextColor(): string;
    set flatItemHoverTextColor(v: string);
    /**
     * Gets or sets the color to use the background of the buttons in the group that are selected when type is flat.
    */
    get flatSelectedItemBackgroundColor(): string;
    set flatSelectedItemBackgroundColor(v: string);
    /**
     * Gets or sets the color to use the text of the buttons in the group that are selected when type is flat.
    */
    get flatSelectedItemTextColor(): string;
    set flatSelectedItemTextColor(v: string);
    /**
     * Gets or sets the color to use the hovered background of the buttons in the group that are selected when type is flat.
    */
    get flatSelectedItemHoverBackgroundColor(): string;
    set flatSelectedItemHoverBackgroundColor(v: string);
    /**
     * Gets or sets the color to use the hovered text of the buttons in the group that are selected when type is flat.
    */
    get flatSelectedItemHoverTextColor(): string;
    set flatSelectedItemHoverTextColor(v: string);
    /**
     * Gets or sets the oreientation to use the button group when type is outlined.
    */
    get orientation(): ButtonGroupOrientation;
    set orientation(v: ButtonGroupOrientation);
    static ngAcceptInputType_orientation: ButtonGroupOrientation | string;
    /**
     * Gets or sets the id to use for the button group.
    */
    get id(): string;
    set id(v: string);
    /**
     * Gets or sets whether the checkbox is disabled.
    */
    get disabled(): boolean;
    set disabled(v: boolean);
    static ngAcceptInputType_disabled: boolean | string;
    /**
     * Gets or sets whether the group supports multi-select.
    */
    get isMultiSelect(): boolean;
    set isMultiSelect(v: boolean);
    static ngAcceptInputType_isMultiSelect: boolean | string;
    findByName(name: string): any;
    protected __p: string;
    protected _hasUserValues: Set<string>;
    protected get hasUserValues(): Set<string>;
    protected __m(propertyName: string): void;
    protected _stylingContainer: any;
    protected _stylingParent: any;
    protected _inStyling: boolean;
    protected _styling(container: any, component: any, parent?: any): void;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    /**
     * Exports visual information about the current state of the grid.
    
    */
    exportVisualModel(): any;
    /**
     * Returns a serialized copy of the exported visual model
    
    */
    exportSerializedVisualModel(): string;
    private _selectionChanged;
    get selectionChanged(): EventEmitter<{
        sender: any;
        args: IgxButtonGroupSelectionChangedEventArgs;
    }>;
    protected _zoneRunner: (act: () => void) => void;
    protected _runInZone(act: () => void): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxXButtonGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxXButtonGroupComponent, "igx-x-button-group", never, { "displayType": "displayType"; "baseTheme": "baseTheme"; "density": "density"; "actualDensity": "actualDensity"; "selectedIndices": "selectedIndices"; "actualItemCornerRadius": "actualItemCornerRadius"; "actualItemBackgroundColor": "actualItemBackgroundColor"; "actualItemDisabledBackgroundColor": "actualItemDisabledBackgroundColor"; "actualItemTextColor": "actualItemTextColor"; "actualItemDisabledTextColor": "actualItemDisabledTextColor"; "actualItemBorderColor": "actualItemBorderColor"; "actualItemDisabledBorderColor": "actualItemDisabledBorderColor"; "actualItemBorderWidth": "actualItemBorderWidth"; "actualSelectedItemBackgroundColor": "actualSelectedItemBackgroundColor"; "actualSelectedItemTextColor": "actualSelectedItemTextColor"; "actualItemHoverBackgroundColor": "actualItemHoverBackgroundColor"; "actualItemHoverTextColor": "actualItemHoverTextColor"; "actualSelectedItemHoverBackgroundColor": "actualSelectedItemHoverBackgroundColor"; "actualSelectedItemHoverTextColor": "actualSelectedItemHoverTextColor"; "itemCornerRadius": "itemCornerRadius"; "itemBackgroundColor": "itemBackgroundColor"; "itemDisabledBackgroundColor": "itemDisabledBackgroundColor"; "itemTextColor": "itemTextColor"; "itemDisabledTextColor": "itemDisabledTextColor"; "itemHoverBackgroundColor": "itemHoverBackgroundColor"; "itemBorderColor": "itemBorderColor"; "itemDisabledBorderColor": "itemDisabledBorderColor"; "itemBorderWidth": "itemBorderWidth"; "itemHoverTextColor": "itemHoverTextColor"; "selectedItemBackgroundColor": "selectedItemBackgroundColor"; "selectedItemTextColor": "selectedItemTextColor"; "selectedItemHoverBackgroundColor": "selectedItemHoverBackgroundColor"; "selectedItemHoverTextColor": "selectedItemHoverTextColor"; "outlinedItemCornerRadius": "outlinedItemCornerRadius"; "outlinedItemBackgroundColor": "outlinedItemBackgroundColor"; "outlinedItemDisabledBackgroundColor": "outlinedItemDisabledBackgroundColor"; "outlinedItemTextColor": "outlinedItemTextColor"; "outlinedItemDisabledTextColor": "outlinedItemDisabledTextColor"; "outlinedItemHoverBackgroundColor": "outlinedItemHoverBackgroundColor"; "outlinedItemBorderColor": "outlinedItemBorderColor"; "outlinedItemDisabledBorderColor": "outlinedItemDisabledBorderColor"; "outlinedItemBorderWidth": "outlinedItemBorderWidth"; "outlinedItemHoverTextColor": "outlinedItemHoverTextColor"; "outlinedSelectedItemBackgroundColor": "outlinedSelectedItemBackgroundColor"; "outlinedSelectedItemTextColor": "outlinedSelectedItemTextColor"; "outlinedSelectedItemHoverBackgroundColor": "outlinedSelectedItemHoverBackgroundColor"; "outlinedSelectedItemHoverTextColor": "outlinedSelectedItemHoverTextColor"; "flatItemCornerRadius": "flatItemCornerRadius"; "flatItemBackgroundColor": "flatItemBackgroundColor"; "flatItemDisabledBackgroundColor": "flatItemDisabledBackgroundColor"; "flatItemTextColor": "flatItemTextColor"; "flatItemDisabledTextColor": "flatItemDisabledTextColor"; "flatItemHoverBackgroundColor": "flatItemHoverBackgroundColor"; "flatItemBorderColor": "flatItemBorderColor"; "flatItemDisabledBorderColor": "flatItemDisabledBorderColor"; "flatItemBorderWidth": "flatItemBorderWidth"; "flatItemHoverTextColor": "flatItemHoverTextColor"; "flatSelectedItemBackgroundColor": "flatSelectedItemBackgroundColor"; "flatSelectedItemTextColor": "flatSelectedItemTextColor"; "flatSelectedItemHoverBackgroundColor": "flatSelectedItemHoverBackgroundColor"; "flatSelectedItemHoverTextColor": "flatSelectedItemHoverTextColor"; "orientation": "orientation"; "id": "id"; "disabled": "disabled"; "isMultiSelect": "isMultiSelect"; }, { "selectionChanged": "selectionChanged"; }, ["contentButtons"], ["*"]>;
}
