import * as React from "react";

interface MDPaginationContextValue {
  variant?: "gradient" | "contained";
  color?: "white" | "primary" | "secondary" | "info" | "success" | "warning" | "error" | "light" | "dark";
  size?: "small" | "medium" | "large";
}

interface MDPaginationProps {
  /**
   * Whether the component is a pagination item.
   * @default false
   */
  item?: boolean;

  /**
   * Variant of the pagination item.
   * @default "gradient"
   */
  variant?: "gradient" | "contained";

  /**
   * Color of the pagination item.
   * @default "info"
   */
  color?: "white" | "primary" | "secondary" | "info" | "success" | "warning" | "error" | "light" | "dark";

  /**
   * Size of the pagination item.
   * @default "medium"
   */
  size?: "small" | "medium" | "large";

  /**
   * Whether the pagination item is active.
   * @default false
   */
  active?: boolean;

  /**
   * The content of the pagination component.
   */
  children: React.ReactNode;

  /**
   * Additional props passed to the root element.
   */
  [key: string]: any;
}

/**
 * MDPagination is a customizable pagination component with support for variants, colors, and sizes.
 */
declare const MDPagination: React.ForwardRefExoticComponent<
  MDPaginationProps & React.RefAttributes<HTMLDivElement>
>;

export default MDPagination;