import type { WithNormalizedProps } from "../../global";
import type { ToggleButtonEvent, Input as ToggleButtonInput } from "../ebay-toggle-button/component";
export interface ToggleButtonGroupEvent {
    originalEvent: MouseEvent;
    pressed: number[];
}
interface ToggleButtonGroupInput extends Omit<Marko.HTML.Span, `on${string}`> {
    button?: Marko.AttrTag<Omit<ToggleButtonInput, `on${string}`>>;
    variant?: "checkbox" | "radio" | "radio-toggle";
    "a11y-text"?: string;
    "a11y-label-id"?: string;
    columnsMin?: number;
    columnsXS?: number;
    columnsSM?: number;
    columnsMD?: number;
    columnsXL?: number;
    layoutType?: ToggleButtonInput["layoutType"];
    "on-change"?: (event: ToggleButtonGroupEvent) => void;
}
export interface Input extends WithNormalizedProps<ToggleButtonGroupInput> {
}
interface State {
    pressed: {
        [index: number]: boolean;
    };
}
declare class ToggleButtonGroup extends Marko.Component<Input, State> {
    onCreate(): void;
    onInput(input: Input): void;
    handleToggle(index: number, { originalEvent, pressed }: ToggleButtonEvent): void;
}
export default ToggleButtonGroup;
