import { AnchorHTMLAttributes, DetailedHTMLProps, FC, ReactNode } from "react";
import * as class_variance_authority_types8 from "class-variance-authority/types";
import { VariantProps } from "class-variance-authority";
import { LocalesValues } from "@intlayer/types";

//#region src/components/Link/Link.d.ts
/**
 * Visual style variants for Link component
 */
declare enum LinkVariant {
  DEFAULT = "default",
  INVISIBLE_LINK = "invisible-link",
  BUTTON = "button",
  BUTTON_OUTLINED = "button-outlined",
  HOVERABLE = "hoverable",
}
/**
 * Color theme variants for Link component
 */
declare enum LinkColor {
  PRIMARY = "primary",
  SECONDARY = "secondary",
  DESTRUCTIVE = "destructive",
  NEUTRAL = "neutral",
  LIGHT = "light",
  DARK = "dark",
  TEXT = "text",
  TEXT_INVERSE = "text-inverse",
  ERROR = "error",
  SUCCESS = "success",
  CUSTOM = "custom",
}
declare enum LinkRoundedSize {
  NONE = "none",
  SM = "sm",
  MD = "md",
  LG = "lg",
  XL = "xl",
  TWO_XL = "2xl",
  THREE_XL = "3xl",
  FULL = "full",
}
declare enum LinkSize {
  SM = "sm",
  MD = "md",
  LG = "lg",
  XL = "xl",
  CUSTOM = "custom",
}
declare enum LinkUnderlined {
  DEFAULT = "default",
  TRUE = "true",
  FALSE = "false",
}
declare const linkVariants: (props?: {
  variant?: "default" | "invisible-link" | "hoverable" | "button" | "button-outlined";
  roundedSize?: "none" | "lg" | "md" | "sm" | "xl" | "2xl" | "3xl" | "full";
  color?: "text" | "error" | "custom" | "success" | "primary" | "secondary" | "destructive" | "neutral" | "light" | "dark" | "text-inverse";
  size?: "lg" | "md" | "custom" | "sm" | "xl";
  underlined?: boolean | LinkUnderlined.DEFAULT;
} & class_variance_authority_types8.ClassProp) => string;
type LinkProps = DetailedHTMLProps<AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement> & VariantProps<typeof linkVariants> & {
  label: string;
  isExternalLink?: boolean;
  isPageSection?: boolean;
  isActive?: boolean;
  locale?: LocalesValues;
};
declare const checkIsExternalLink: ({
  href,
  isExternalLink: isExternalLinkProp
}: LinkProps) => boolean;
declare const isTextChildren: (children: ReactNode) => boolean;
declare const Link: FC<LinkProps>;
//#endregion
export { Link, LinkColor, LinkProps, LinkRoundedSize, LinkSize, LinkUnderlined, LinkVariant, checkIsExternalLink, isTextChildren, linkVariants };
//# sourceMappingURL=Link.d.ts.map