import type { ButtonHTMLAttributes, HTMLAttributes } from "react"; import type { BaseComponentSizes, ClassName } from "@helpers/types"; export type TPaginationVariant = "default" | "outlined" | "ghost"; export interface PaginationProps extends HTMLAttributes, ClassName { currentPage: number; totalPages: number; prevButtonText?: string; nextButtonText?: string; prevButtonDisabled?: boolean; nextButtonDisabled?: boolean; variant?: TPaginationVariant; size?: BaseComponentSizes; rangeSize?: BaseComponentSizes; onPageButtonClick: (page: number) => void; onPrevButtonClick: () => void; onNextButtonClick: () => void; } export interface ArrowButtonProps extends ButtonHTMLAttributes, Required> { actionType: "prev" | "next"; } export interface PageButtonProps extends ButtonHTMLAttributes, Required> { active: boolean; } export interface DotButtonProps extends ButtonHTMLAttributes, Required> { }