import { LitElement, TemplateResult } from 'lit';
import { FormAssociatedProps } from '../mixins/form-associated/interface';
import { LitTab } from './tab';
export declare type TTabType = 'button' | 'tab';
export declare type TTab = {
    value: string;
    text: string | TemplateResult;
    icon?: string | TemplateResult;
};
export interface ITabs extends FormAssociatedProps {
    type: TTabType;
    value: string;
}
declare const LitTabs_base: (new (...args: any[]) => import("../mixins/focusable/inderface").Focusable & LitElement) & (new (...args: any[]) => import("../mixins/form-associated/interface").FormAssociatedElement) & typeof LitElement;
export declare class LitTabs extends LitTabs_base implements ITabs {
    static get styles(): import("lit").CSSResultOrNative[];
    type: TTabType;
    private _tabs;
    private _value;
    set selectedIndex(value: number);
    get selectedIndex(): number;
    get value(): string;
    set value(value: string);
    willUpdate(_changedProperties: Map<string | number | symbol, unknown>): void;
    connectedCallback(): void;
    disconnectedCallback(): void;
    private _updateSelected;
    private _updateType;
    private _tabConnected;
    disconncetTab(value: LitTab): void;
    private _handleSelect;
    render(): TemplateResult<1>;
    private _handleKeyEvent;
}
declare global {
    interface HTMLElementTagNameMap {
        'lit-tabs': LitTabs;
    }
}
export {};
