import * as react from 'react';
import { Dispatch, SetStateAction } from 'react';
import * as _yamada_ui_use_descendant from '@yamada-ui/use-descendant';
import { CSSUIObject } from '@yamada-ui/core';
import { TabsOptions } from './tabs.mjs';
import '@yamada-ui/use-disclosure';
import './tab-list.mjs';
import './tab-panels.mjs';

declare const TabDescendantsContextProvider: react.Provider<{
    count: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => number;
    destroy: () => void;
    enabledCount: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => number;
    enabledFirstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    enabledIndexOf: (node?: HTMLButtonElement | null | undefined, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => number;
    enabledLastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    enabledNextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    enabledPrevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    enabledValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    enabledValues: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}>[];
    firstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    indexOf: (node?: HTMLButtonElement | null | undefined) => number;
    lastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    nextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    prevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    register: (nodeOrOptions?: HTMLButtonElement | {
        id?: string;
        disabled?: boolean;
        filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined;
    } | null | undefined) => void | ((node: HTMLButtonElement | null) => void);
    unregister: (node?: HTMLButtonElement | undefined) => void;
    value: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    values: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}>[];
}>;
declare const useTabDescendant: (options?: {
    id?: string;
    disabled?: boolean;
    filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined;
} | undefined) => {
    descendants: {
        count: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => number;
        destroy: () => void;
        enabledCount: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => number;
        enabledFirstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
        enabledIndexOf: (node?: HTMLButtonElement | null | undefined, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => number;
        enabledLastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
        enabledNextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
        enabledPrevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
        enabledValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
        enabledValues: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}>[];
        firstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
        indexOf: (node?: HTMLButtonElement | null | undefined) => number;
        lastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
        nextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
        prevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
        register: (nodeOrOptions?: HTMLButtonElement | {
            id?: string;
            disabled?: boolean;
            filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined;
        } | null | undefined) => void | ((node: HTMLButtonElement | null) => void);
        unregister: (node?: HTMLButtonElement | undefined) => void;
        value: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
        values: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}>[];
    };
    enabledIndex: number;
    index: number;
    register: (node: HTMLButtonElement | null) => void;
};
declare const useTabDescendants: () => {
    count: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => number;
    destroy: () => void;
    enabledCount: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => number;
    enabledFirstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    enabledIndexOf: (node?: HTMLButtonElement | null | undefined, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => number;
    enabledLastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    enabledNextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    enabledPrevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    enabledValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    enabledValues: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}>[];
    firstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    indexOf: (node?: HTMLButtonElement | null | undefined) => number;
    lastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    nextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    prevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    register: (nodeOrOptions?: HTMLButtonElement | {
        id?: string;
        disabled?: boolean;
        filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined;
    } | null | undefined) => void | ((node: HTMLButtonElement | null) => void);
    unregister: (node?: HTMLButtonElement | undefined) => void;
    value: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    values: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}>[];
};
declare const useTabDescendantsContext: () => {
    count: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => number;
    destroy: () => void;
    enabledCount: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => number;
    enabledFirstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    enabledIndexOf: (node?: HTMLButtonElement | null | undefined, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => number;
    enabledLastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    enabledNextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    enabledPrevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    enabledValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    enabledValues: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}>[];
    firstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    indexOf: (node?: HTMLButtonElement | null | undefined) => number;
    lastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    nextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    prevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    register: (nodeOrOptions?: HTMLButtonElement | {
        id?: string;
        disabled?: boolean;
        filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined;
    } | null | undefined) => void | ((node: HTMLButtonElement | null) => void);
    unregister: (node?: HTMLButtonElement | undefined) => void;
    value: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}> | undefined;
    values: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLButtonElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLButtonElement, {}>[];
};
declare const TabPanelDescendantsContextProvider: react.Provider<{
    count: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => number;
    destroy: () => void;
    enabledCount: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => number;
    enabledFirstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    enabledIndexOf: (node?: HTMLDivElement | null | undefined, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => number;
    enabledLastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    enabledNextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    enabledPrevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    enabledValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    enabledValues: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}>[];
    firstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    indexOf: (node?: HTMLDivElement | null | undefined) => number;
    lastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    nextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    prevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    register: (nodeOrOptions?: HTMLDivElement | {
        id?: string;
        disabled?: boolean;
        filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined;
    } | null | undefined) => void | ((node: HTMLDivElement | null) => void);
    unregister: (node?: HTMLDivElement | undefined) => void;
    value: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    values: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}>[];
}>;
declare const useTabPanelDescendant: (options?: {
    id?: string;
    disabled?: boolean;
    filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined;
} | undefined) => {
    descendants: {
        count: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => number;
        destroy: () => void;
        enabledCount: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => number;
        enabledFirstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
        enabledIndexOf: (node?: HTMLDivElement | null | undefined, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => number;
        enabledLastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
        enabledNextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
        enabledPrevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
        enabledValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
        enabledValues: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}>[];
        firstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
        indexOf: (node?: HTMLDivElement | null | undefined) => number;
        lastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
        nextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
        prevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
        register: (nodeOrOptions?: HTMLDivElement | {
            id?: string;
            disabled?: boolean;
            filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined;
        } | null | undefined) => void | ((node: HTMLDivElement | null) => void);
        unregister: (node?: HTMLDivElement | undefined) => void;
        value: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
        values: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}>[];
    };
    enabledIndex: number;
    index: number;
    register: (node: HTMLDivElement | null) => void;
};
declare const useTabPanelDescendants: () => {
    count: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => number;
    destroy: () => void;
    enabledCount: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => number;
    enabledFirstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    enabledIndexOf: (node?: HTMLDivElement | null | undefined, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => number;
    enabledLastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    enabledNextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    enabledPrevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    enabledValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    enabledValues: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}>[];
    firstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    indexOf: (node?: HTMLDivElement | null | undefined) => number;
    lastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    nextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    prevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    register: (nodeOrOptions?: HTMLDivElement | {
        id?: string;
        disabled?: boolean;
        filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined;
    } | null | undefined) => void | ((node: HTMLDivElement | null) => void);
    unregister: (node?: HTMLDivElement | undefined) => void;
    value: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    values: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}>[];
};
declare const useTabPanelDescendantsContext: () => {
    count: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => number;
    destroy: () => void;
    enabledCount: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => number;
    enabledFirstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    enabledIndexOf: (node?: HTMLDivElement | null | undefined, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => number;
    enabledLastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    enabledNextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    enabledPrevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    enabledValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    enabledValues: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}>[];
    firstValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    indexOf: (node?: HTMLDivElement | null | undefined) => number;
    lastValue: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    nextValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    prevValue: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined, loop?: boolean) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    register: (nodeOrOptions?: HTMLDivElement | {
        id?: string;
        disabled?: boolean;
        filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined;
    } | null | undefined) => void | ((node: HTMLDivElement | null) => void);
    unregister: (node?: HTMLDivElement | undefined) => void;
    value: (index: number, filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}> | undefined;
    values: (filter?: _yamada_ui_use_descendant.FilterDescendant<HTMLDivElement, {}> | undefined) => _yamada_ui_use_descendant.Descendant<HTMLDivElement, {}>[];
};
interface TabsContext extends Omit<TabsOptions, "defaultIndex" | "index" | "onChange"> {
    disableRipple: boolean;
    focusedIndex: number;
    selectedIndex: number;
    setFocusedIndex: Dispatch<SetStateAction<number>>;
    setSelectedIndex: Dispatch<SetStateAction<number>>;
    styles: {
        [key: string]: CSSUIObject | undefined;
    };
}
declare const TabsProvider: react.Provider<TabsContext>;
declare const useTabsContext: () => TabsContext;
declare const TabPanelProvider: react.Provider<{
    index: number;
    selected: boolean;
    selectedIndex: number;
}>;
declare const useTabPanelContext: () => {
    index: number;
    selected: boolean;
    selectedIndex: number;
};

export { TabDescendantsContextProvider, TabPanelDescendantsContextProvider, TabPanelProvider, TabsProvider, useTabDescendant, useTabDescendants, useTabDescendantsContext, useTabPanelContext, useTabPanelDescendant, useTabPanelDescendants, useTabPanelDescendantsContext, useTabsContext };
