import { MouseEvent, PropsWithChildren } from "react";
import { IconTypesKeys } from "../../atoms/Icon";
import { ITheme } from "../../theme/ITheme";
export interface ITabContainerProps {
    align?: string;
    offset?: number;
    scrollable?: boolean | undefined;
}
export interface ITabLineProps {
    width?: number;
}
export interface ITabProps extends PropsWithChildren {
    icon?: IconTypesKeys;
    align?: string;
    selected?: boolean;
    hover?: boolean;
    disabled?: boolean;
    scrollable?: boolean;
    onClick: (e: MouseEvent<HTMLDivElement>) => void;
    ref?: (div: HTMLDivElement) => void;
}
export interface ITabLineProps {
    selected?: boolean;
}
export interface ITabOptions {
    value: string;
    icon: IconTypesKeys;
    text: string;
    disabled?: boolean;
}
export interface ITabsProps {
    align?: string;
    theme?: ITheme;
    data: ITabOptions[];
    className?: string;
    selectedTab?: string;
    onChange: (value: string, e: MouseEvent<HTMLDivElement>) => void;
    onSelectedChange?: (value: string, e: MouseEvent<HTMLDivElement>) => void;
    showArrows?: boolean;
}
export interface ITabsParams {
    clientWidth: number;
    scrollLeft: number;
    scrollWidth: number;
    left: number;
    right: number;
}
export interface ILineBlockProps {
    count: number;
    selected: number;
    lineWidth: number;
    offset: number;
    align: string | undefined;
}
export interface ILineContainerProps {
    width: number;
}
