import { EventEmitter } from "../../stencil-public-runtime";
import { IcSizes, IcSelectTypes, IcSelectMethodTypes, IcThemeMode, IcButtonTooltipPlacement, IcIconPlacementOptions } from "../../utils/types";
import { IcChangeEventDetail } from "./ic-toggle-button-group.types";
interface lastKey {
    key: string | null;
    shift: boolean;
}
export declare class ToggleButtonGroup {
    el: HTMLIcToggleButtonGroupElement;
    lastKeyPressed: lastKey;
    externallySetActiveToggle: HTMLIcToggleButtonElement | null;
    /**
     * The accessible label of the toggle button group component to provide context for screen reader users.
     */
    accessibleLabel: string;
    /**
     * If `true`, the toggle button group will be set to the disabled state.
     */
    disabled: boolean;
    watchDisabledHandler(): void;
    /**
     * If `true`, the toggle button group will fill the width of the container.
     */
    fullWidth: boolean;
    watchFullWidthHandler(): void;
    /**
     * The placement of the icons in relation to the toggle button labels.
     */
    iconPlacement?: IcIconPlacementOptions;
    /**
     * If `true`, the toggle button group will be in loading state.
     */
    loading: boolean;
    watchLoadingHandler(): void;
    /**
     * If `true`, the toggle button group will display as black in the light theme, and white in dark theme.
     */
    monochrome: boolean;
    watchMonochromeHandler(): void;
    /**
     * If `true`, the toggle button group will display with an outline.
     */
    outline: boolean;
    watchOutlineHandler(): void;
    /**
     * If `auto`, controls are toggled automatically when navigated to. If `manual`, the controls must be actioned to change their toggled state. The value of this prop is ignored if `selectType` is set to`multi`.
     */
    selectMethod: IcSelectMethodTypes;
    /**
     * Sets whether single or multiple options can be toggled. If `multi`, then the `selectMethod` is always `manual`.
     */
    selectType: IcSelectTypes;
    /**
     * The size of the toggle buttons to be displayed. This does not affect the font size of the accessible label.
     */
    size: IcSizes;
    watchSizeHandler(): void;
    /**
     * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component.
     */
    theme: IcThemeMode;
    watchThemeHandler(): void;
    /**
     * The position of the tooltip in relation to the toggle buttons.
     */
    tooltipPlacement: IcButtonTooltipPlacement;
    watchTooltipPlacementHandler(): void;
    /**
     * The variant of the toggle button.
     */
    variant: "default" | "icon";
    watchVariantHandler(): void;
    /**
     * Emitted when a toggle button is selected.
     */
    icChange: EventEmitter<IcChangeEventDetail>;
    selectHandler(ev: CustomEvent, tabTarget?: HTMLIcToggleButtonElement): void;
    /**
     * @internal Used to enable other components to set the active toggle button when toggle button group is in a shadow dom.
     */
    setActiveToggle(toggle: HTMLIcToggleButtonElement): Promise<void>;
    componentWillLoad(): void;
    componentDidLoad(): void;
    disconnectedCallback(): void;
    private keyListener;
    private handleHostFocus;
    private handleKeyDown;
    private getNextItemToSelect;
    private getAllToggleButtons;
    render(): any;
}
export {};
