import { ComponentInterface, EventEmitter } from '../../../stencil-public-runtime';
import { BalCheckboxOption } from '../bal-checkbox.type';
import { Loggable, LogInstance } from '../../../utils/log';
import { BalMutationObserver } from '../../../utils/mutation';
import { BalAriaForm, BalAriaFormLinking } from '../../../utils/form';
import { BalFocusObserver } from '../../../utils/focus';
export declare class CheckboxGroup implements ComponentInterface, Loggable, BalMutationObserver, BalAriaFormLinking, BalFocusObserver {
    private inputId;
    private inheritedAttributes;
    log: LogInstance;
    createLogger(log: LogInstance): void;
    el: HTMLElement;
    ariaForm: BalAriaForm;
    options?: BalCheckboxOption[];
    protected optionChanged(): Promise<void>;
    interface?: BalProps.BalCheckboxGroupInterface;
    control: boolean;
    name: string;
    vertical: boolean;
    verticalOnMobile: boolean;
    expanded: boolean;
    disabled?: boolean;
    disabledChanged(value: boolean | undefined): void;
    readonly?: boolean;
    readonlyChanged(value: boolean | undefined): void;
    value: any[];
    valueChanged(_value: any[], oldValue: any[]): void;
    columns: BalProps.BalCheckboxGroupColumns;
    columnsChanged(value: BalProps.BalCheckboxGroupColumns): void;
    columnsTablet: BalProps.BalCheckboxGroupColumns;
    columnsTabletChanged(value: BalProps.BalCheckboxGroupColumns): void;
    columnsMobile: BalProps.BalCheckboxGroupColumns;
    columnsMobileChanged(value: BalProps.BalCheckboxGroupColumns): void;
    balChange: EventEmitter<BalEvents.BalCheckboxGroupChangeDetail>;
    balFocus: EventEmitter<BalEvents.BalCheckboxGroupFocusDetail>;
    balBlur: EventEmitter<BalEvents.BalCheckboxGroupBlurDetail>;
    connectedCallback(): void;
    componentWillLoad(): void;
    hasFocus: boolean;
    focusInListener(ev: FocusEvent): void;
    focusOutListener(ev: FocusEvent): void;
    mutationObserverActive: boolean;
    mutationListener(): void;
    listenOnClick(ev: UIEvent): void;
    resetHandler(ev: UIEvent): void;
    checkboxFocusListener(ev: CustomEvent<FocusEvent>): void;
    checkboxBlurListener(ev: CustomEvent<FocusEvent>): void;
    setValue(value: any[]): Promise<void>;
    getOptionByValue(value: string): Promise<BalCheckboxOption | undefined>;
    setAriaForm(ariaForm: BalAriaForm): Promise<void>;
    private sync;
    private getCheckboxes;
    private getCheckboxButtons;
    private onClick;
    private onOptionChange;
    render(): any;
}
