import type { JSX } from '../../stencil-public-runtime';
import type { AlignPropType, FocusableElement, KolFocusOptions, KoliBriTabsCallbacks, LabelPropType, Stringified, TabBehaviorPropType, TabButtonProps, TabsAPI, TabsStates } from '../../schema';
import type { HasCreateButtonPropType } from '../../schema/props/has-create-button';
export declare class KolTabs implements TabsAPI, FocusableElement {
    protected readonly host?: HTMLKolTabsElement;
    private tabPanelsElement?;
    private onCreateLabel;
    private currentFocusIndex;
    protected readonly ctaRef: import("../../utils/element-interaction").CtaRef<HTMLKolButtonWcElement>;
    private nextPossibleTabIndex;
    private prevPossibleTabIndex;
    private onKeyDown;
    private getCurrentFocusIndex;
    private getKeyboardTabChangeMode;
    private goToNextTab;
    private goToPreviousTab;
    private activateFocusedTab;
    private readonly onClickSelect;
    private selectNextTabEvent;
    private readonly onMouseDown;
    private readonly callbacks;
    focus(options?: KolFocusOptions): Promise<void>;
    click(): Promise<void>;
    private renderButtonGroup;
    private tabPanelHost?;
    private readonly catchTabPanelHost;
    render(): JSX.Element;
    _align?: AlignPropType;
    _behavior?: TabBehaviorPropType;
    _hasCreateButton?: HasCreateButtonPropType;
    _label: LabelPropType;
    _on?: KoliBriTabsCallbacks;
    _selected?: number;
    _tabs: Stringified<TabButtonProps[]>;
    state: TabsStates;
    private selectNextNotDisabledTab;
    private syncSelectedAndTabs;
    validateAlign(value?: AlignPropType): void;
    validateBehavior(value?: TabBehaviorPropType): void;
    validateHasCreateButton(value?: HasCreateButtonPropType): void;
    validateLabel(value?: LabelPropType): void;
    validateOn(value?: KoliBriTabsCallbacks): void;
    validateSelected(value?: number): void;
    validateTabs(value?: Stringified<TabButtonProps[]>): void;
    componentWillLoad(): void;
    private refreshTabPanels;
    private updateVisiblePanel;
    componentDidRender(): void;
    private focusTabById;
    private onSelect;
    private onCreate;
    private onBlur;
}
