import { ComponentProps } from 'react';
import { BoxTabRootProps, BoxTabProps, BoxTabPanelProps } from './BoxTab.types';
/**
* BoxTab의 최상위 컴포넌트입니다.
* 탭의 상태를 관리하고 하위 컴포넌트에 Context를 제공합니다.
*
* @param {RootProps} props
* @param {ReactNode} props.children - 하위 컴포넌트
* @param {number} [props.currentActiveTab=0] - 현재 활성화된 탭의 인덱스
* @param {(index: number) => void} [props.onChange] - 탭 변경 시 호출되는 콜백 함수
*
* @example
* ```tsx
* console.log(index)}>
*
* 탭 1
* 탭 2
*
* 패널 1 내용
* 패널 2 내용
*
* ```
*/
declare const Root: ({ children, currentActiveTab, onChange, }: BoxTabRootProps) => import("react/jsx-runtime").JSX.Element;
/**
* 탭 버튼들을 감싸는 컨테이너 컴포넌트입니다.
*
* @param {ComponentProps<'div'>} props
* @param {ReactNode} props.children - Tab 컴포넌트들
* @param {string} [props.className] - 추가 스타일 클래스
*
* @example
* ```tsx
*
* 탭 1
* 탭 2
*
* ```
*/
declare const Tabs: ({ children, className }: ComponentProps<"div">) => import("react/jsx-runtime").JSX.Element;
/**
* 개별 탭 버튼 컴포넌트입니다.
*
* @param {TabProps} props
* @param {ReactNode} props.children - 탭 내용
* @param {number} props.index - 탭의 인덱스
* @param {string} [props.className] - 추가 스타일 클래스
* @param {boolean} [props.isFirst] - 첫 번째 탭 여부 (내부적으로 자동 설정)
* @param {boolean} [props.isLast] - 마지막 탭 여부 (내부적으로 자동 설정)
* @param {boolean} [props.disabled] - 비활성화 여부
*
* @example
* ```tsx
*
* 탭 1
*
* ```
*/
declare const Tab: ({ children, index, className, isFirst, isLast, disabled, href, }: BoxTabProps) => import("react/jsx-runtime").JSX.Element;
/**
* 탭 패널 컴포넌트입니다.
* 해당 인덱스의 탭이 선택되었을 때만 내용을 표시합니다.
*
* @param {PanelProps} props
* @param {ReactNode} props.children - 패널 내용
* @param {number} props.index - 패널의 인덱스 (연결된 탭의 인덱스와 일치해야 함)
*
* @example
* ```tsx
*
* 첫 번째 탭의 내용입니다.
*
* ```
*/
declare const Panel: ({ children, index }: BoxTabPanelProps) => false | import("react/jsx-runtime").JSX.Element;
export { Root, Tabs, Tab, Panel };