import { TemplateRef, EventEmitter, ViewContainerRef, Injector, 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;
    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);
    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": { "alias": "displayType"; "required": false; }; "baseTheme": { "alias": "baseTheme"; "required": false; }; "density": { "alias": "density"; "required": false; }; "actualDensity": { "alias": "actualDensity"; "required": false; }; "selectedIndices": { "alias": "selectedIndices"; "required": false; }; "actualItemCornerRadius": { "alias": "actualItemCornerRadius"; "required": false; }; "actualItemBackgroundColor": { "alias": "actualItemBackgroundColor"; "required": false; }; "actualItemDisabledBackgroundColor": { "alias": "actualItemDisabledBackgroundColor"; "required": false; }; "actualItemTextColor": { "alias": "actualItemTextColor"; "required": false; }; "actualItemDisabledTextColor": { "alias": "actualItemDisabledTextColor"; "required": false; }; "actualItemBorderColor": { "alias": "actualItemBorderColor"; "required": false; }; "actualItemDisabledBorderColor": { "alias": "actualItemDisabledBorderColor"; "required": false; }; "actualItemBorderWidth": { "alias": "actualItemBorderWidth"; "required": false; }; "actualSelectedItemBackgroundColor": { "alias": "actualSelectedItemBackgroundColor"; "required": false; }; "actualSelectedItemTextColor": { "alias": "actualSelectedItemTextColor"; "required": false; }; "actualItemHoverBackgroundColor": { "alias": "actualItemHoverBackgroundColor"; "required": false; }; "actualItemHoverTextColor": { "alias": "actualItemHoverTextColor"; "required": false; }; "actualSelectedItemHoverBackgroundColor": { "alias": "actualSelectedItemHoverBackgroundColor"; "required": false; }; "actualSelectedItemHoverTextColor": { "alias": "actualSelectedItemHoverTextColor"; "required": false; }; "itemCornerRadius": { "alias": "itemCornerRadius"; "required": false; }; "itemBackgroundColor": { "alias": "itemBackgroundColor"; "required": false; }; "itemDisabledBackgroundColor": { "alias": "itemDisabledBackgroundColor"; "required": false; }; "itemTextColor": { "alias": "itemTextColor"; "required": false; }; "itemDisabledTextColor": { "alias": "itemDisabledTextColor"; "required": false; }; "itemHoverBackgroundColor": { "alias": "itemHoverBackgroundColor"; "required": false; }; "itemBorderColor": { "alias": "itemBorderColor"; "required": false; }; "itemDisabledBorderColor": { "alias": "itemDisabledBorderColor"; "required": false; }; "itemBorderWidth": { "alias": "itemBorderWidth"; "required": false; }; "itemHoverTextColor": { "alias": "itemHoverTextColor"; "required": false; }; "selectedItemBackgroundColor": { "alias": "selectedItemBackgroundColor"; "required": false; }; "selectedItemTextColor": { "alias": "selectedItemTextColor"; "required": false; }; "selectedItemHoverBackgroundColor": { "alias": "selectedItemHoverBackgroundColor"; "required": false; }; "selectedItemHoverTextColor": { "alias": "selectedItemHoverTextColor"; "required": false; }; "outlinedItemCornerRadius": { "alias": "outlinedItemCornerRadius"; "required": false; }; "outlinedItemBackgroundColor": { "alias": "outlinedItemBackgroundColor"; "required": false; }; "outlinedItemDisabledBackgroundColor": { "alias": "outlinedItemDisabledBackgroundColor"; "required": false; }; "outlinedItemTextColor": { "alias": "outlinedItemTextColor"; "required": false; }; "outlinedItemDisabledTextColor": { "alias": "outlinedItemDisabledTextColor"; "required": false; }; "outlinedItemHoverBackgroundColor": { "alias": "outlinedItemHoverBackgroundColor"; "required": false; }; "outlinedItemBorderColor": { "alias": "outlinedItemBorderColor"; "required": false; }; "outlinedItemDisabledBorderColor": { "alias": "outlinedItemDisabledBorderColor"; "required": false; }; "outlinedItemBorderWidth": { "alias": "outlinedItemBorderWidth"; "required": false; }; "outlinedItemHoverTextColor": { "alias": "outlinedItemHoverTextColor"; "required": false; }; "outlinedSelectedItemBackgroundColor": { "alias": "outlinedSelectedItemBackgroundColor"; "required": false; }; "outlinedSelectedItemTextColor": { "alias": "outlinedSelectedItemTextColor"; "required": false; }; "outlinedSelectedItemHoverBackgroundColor": { "alias": "outlinedSelectedItemHoverBackgroundColor"; "required": false; }; "outlinedSelectedItemHoverTextColor": { "alias": "outlinedSelectedItemHoverTextColor"; "required": false; }; "flatItemCornerRadius": { "alias": "flatItemCornerRadius"; "required": false; }; "flatItemBackgroundColor": { "alias": "flatItemBackgroundColor"; "required": false; }; "flatItemDisabledBackgroundColor": { "alias": "flatItemDisabledBackgroundColor"; "required": false; }; "flatItemTextColor": { "alias": "flatItemTextColor"; "required": false; }; "flatItemDisabledTextColor": { "alias": "flatItemDisabledTextColor"; "required": false; }; "flatItemHoverBackgroundColor": { "alias": "flatItemHoverBackgroundColor"; "required": false; }; "flatItemBorderColor": { "alias": "flatItemBorderColor"; "required": false; }; "flatItemDisabledBorderColor": { "alias": "flatItemDisabledBorderColor"; "required": false; }; "flatItemBorderWidth": { "alias": "flatItemBorderWidth"; "required": false; }; "flatItemHoverTextColor": { "alias": "flatItemHoverTextColor"; "required": false; }; "flatSelectedItemBackgroundColor": { "alias": "flatSelectedItemBackgroundColor"; "required": false; }; "flatSelectedItemTextColor": { "alias": "flatSelectedItemTextColor"; "required": false; }; "flatSelectedItemHoverBackgroundColor": { "alias": "flatSelectedItemHoverBackgroundColor"; "required": false; }; "flatSelectedItemHoverTextColor": { "alias": "flatSelectedItemHoverTextColor"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "id": { "alias": "id"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "isMultiSelect": { "alias": "isMultiSelect"; "required": false; }; }, { "selectionChanged": "selectionChanged"; }, ["contentButtons"], ["*"], true, never>;
}
