import { Button } from '../button/button.types';
/**
 * A button group control is a linear set of two or more buttons.
 *
 * ## Usage
 *
 * Button groups are often used to display different views of the same thing. A
 * common example of this component is when you switch between [ Map | Transit
 * | Satellite ] views to look at an area on the map.
 *
 * In some cases, button groups may serve as quick filters as well. For example
 * a list of contacts, in which the user can switch to [ All | Favorites
 * | Frequently contacted ] can incorporate a button group to quickly filter out
 * items and display subsets of them.
 *
 * ## Layout
 *
 * The button groups are usually placed in top headers and action bars,
 * sometimes with other elements. Since the group items will always be rendered
 * in a row, you must make sure not to have too many buttons in the group.
 * Because if the container of your button group does not get enough space to
 * fit in all its buttons, they will have to truncate their text and may appear
 * very cramped together. Always think about how your button group will appear
 * on a small screen such as phones.
 * :::note
 * Button can contain text or icons, but not both simultaneously!
 * :::
 *
 * Within the group, icon buttons will all have the same width, while each text button
 * inherits its width from its content.
 *
 * @exampleComponent limel-example-button-group-icons
 * @exampleComponent limel-example-button-group-basic
 * @exampleComponent limel-example-button-group-mix
 * @exampleComponent limel-example-button-group-badges
 * @exampleComponent limel-example-button-group-composite
 */
export declare class ButtonGroup {
    /**
     * List of buttons for the group
     */
    value: Button[];
    /**
     * True if the button-group should be disabled
     */
    disabled: boolean;
    /**
     * Dispatched when a button is selected/deselected
     */
    private change;
    private selectedButtonId;
    private radioGroupName;
    constructor();
    componentWillLoad(): void;
    render(): any;
    private renderButton;
    private renderContent;
    private isButtonChecked;
    private renderLabel;
    private renderIcon;
    private renderBadge;
    private onChange;
    private setSelectedButton;
    protected valueChanged(): void;
}
//# sourceMappingURL=button-group.d.ts.map