import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
import * as React from 'react';
import React__default from 'react';
import { VariantProps } from 'class-variance-authority';
import * as react_jsx_runtime from 'react/jsx-runtime';

declare const buttonVariants: (props?: ({
    variant?: "default" | "primary" | "error" | "primary-outline" | "primary-tertiary" | "primary-link" | "gray-outline" | "gray-tertiary" | "gray-link" | "error-outline" | "error-tertiary" | "error-link" | "nav" | "simple" | null | undefined;
    size?: "default" | "sm" | "md" | "lg" | "xl" | "2xl" | "icon-sm" | "icon-md" | "icon-lg" | "icon-xl" | "icon-2xl" | null | undefined;
} & class_variance_authority_dist_types.ClassProp) | undefined) => string;
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
    active?: boolean;
    children?: any;
    asChild?: boolean;
    leftIcon?: React.ReactNode;
    rightIcon?: React.ReactNode;
}
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;

declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLParagraphElement>>;
declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;

declare const avatarVariants: (props?: ({
    size?: "default" | "sm" | "lg" | "xl" | "xm" | null | undefined;
} & class_variance_authority_dist_types.ClassProp) | undefined) => string;
type AvatarType$1 = {
    image?: string;
    name?: string;
};
interface AvatarProps extends VariantProps<typeof avatarVariants>, React.HTMLAttributes<HTMLDivElement>, AvatarType$1 {
}
declare const Avatar: {
    ({ size, image, name, className, ...props }: AvatarProps): react_jsx_runtime.JSX.Element;
    displayName: string;
};

declare const logoVariants: (props?: ({
    size?: "default" | "sm" | "lg" | null | undefined;
} & class_variance_authority_dist_types.ClassProp) | undefined) => string;
interface LogoProps extends VariantProps<typeof logoVariants> {
}
declare const Logo: ({ size }: VariantProps<typeof logoVariants>) => react_jsx_runtime.JSX.Element;

type StarRatingProps = {
    rating: number;
    setRating: (value: number) => void;
};
declare const StarRating: ({ rating, setRating }: StarRatingProps) => react_jsx_runtime.JSX.Element;

declare const badgeVariants: (props?: ({
    variant?: "error" | "gray" | "brand" | "warning" | "success" | "blue" | "gray-blue" | "blue-light" | "indigo" | "purple" | "pink" | "orange" | null | undefined;
    type?: "pill" | "pill-outlined" | "badge" | "badge-outlined" | "icon-pill" | "icon-pill-outlined" | "icon-badge" | "icon-badge-outlined" | null | undefined;
    size?: "sm" | "md" | "lg" | "icon-sm" | "icon-md" | "icon-lg" | null | undefined;
} & class_variance_authority_dist_types.ClassProp) | undefined) => string;
interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
    children?: React.ReactNode;
    leftIcon?: React.ReactNode;
    rightIcon?: React.ReactNode;
    type?: "pill" | "badge" | "pill-outlined" | "badge-outlined" | "icon-pill" | "icon-pill-outlined" | "icon-badge" | "icon-badge-outlined";
}
declare function Badge({ className, variant, size, children, leftIcon, rightIcon, type, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;

type BannerProps = {
    height?: string;
    img: string;
};
declare const Banner: ({ height, img }: BannerProps) => react_jsx_runtime.JSX.Element;

type FormattedNumberProps = {
    value: number;
    type?: "standard" | "compact";
};
declare const FormattedNumber: ({ value, type, }: FormattedNumberProps) => react_jsx_runtime.JSX.Element;

type FormattedCurrencyProps = {
    number: number;
};
declare const FormattedCurrency: ({ number }: FormattedCurrencyProps) => react_jsx_runtime.JSX.Element;

interface ResourceCardProps {
    url: string;
    title: string;
    mediaType: string;
    mediaText: string;
    userName?: string;
    tag?: string;
}
declare const ResourceCard: ({ url, title, mediaType, mediaText, userName, tag, }: ResourceCardProps) => react_jsx_runtime.JSX.Element;

declare const Nav: ({ children }: {
    children: React__default.ReactNode;
}) => react_jsx_runtime.JSX.Element;

declare const Header: ({ children }: {
    children: React__default.ReactNode;
}) => react_jsx_runtime.JSX.Element;

type BackButtonProps = {
    text?: string;
    backUrl?: string;
};
declare const BackButton: ({ text, backUrl }: BackButtonProps) => react_jsx_runtime.JSX.Element;

type ProfileProps = {
    profileImage: string;
    userName: string;
    subheader?: string;
};
declare const Profile: ({ profileImage, userName, subheader }: ProfileProps) => react_jsx_runtime.JSX.Element;

type AvatarType = {
    image?: string;
    name?: string;
};
type AvatarGroupProps = {
    avatars: AvatarType[];
    groupCount?: number;
    size?: "xm" | "sm";
};
declare const AvatarGroup: ({ avatars, groupCount, size }: AvatarGroupProps) => react_jsx_runtime.JSX.Element;

declare const Accordions: () => react_jsx_runtime.JSX.Element;

declare const MainHeader: () => react_jsx_runtime.JSX.Element;

type ResourceProps = {
    title: string;
    content: string;
    viewsCount: number;
    commentsCount: number;
    userName: string;
    profileImage: string;
    subheader?: string;
};
declare const Resource: ({ title, content, userName, profileImage, viewsCount, commentsCount, subheader, }: ResourceProps) => react_jsx_runtime.JSX.Element;

type ReviewProps = {
    profileImage: string;
    userName: string;
    subHeader: string;
    reviewContent: string;
    rating: number;
    likes: AvatarType$1[];
    setRating?: (value: number) => void;
};
declare const Review: ({ profileImage, userName, subHeader, reviewContent, rating, likes, setRating, }: ReviewProps) => react_jsx_runtime.JSX.Element;

type ReviewsProps = {
    reviews: ReviewProps[];
};
declare const Reviews: ({ reviews }: ReviewsProps) => react_jsx_runtime.JSX.Element;

type PageHeaderProps = {
    bannerImg: string;
    profileImg: string;
    category: string;
    usersCount: number;
};
declare const PageHeader: ({ usersCount, category, bannerImg, profileImg, }: PageHeaderProps) => react_jsx_runtime.JSX.Element;

export { Accordions, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarType$1 as AvatarType, BackButton, type BackButtonProps, Badge, type BadgeProps, Banner, type BannerProps, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, FormattedCurrency, type FormattedCurrencyProps, FormattedNumber, type FormattedNumberProps, Header, Logo, type LogoProps, MainHeader, Nav, PageHeader, type PageHeaderProps, Profile, type ProfileProps, Resource, ResourceCard, type ResourceCardProps, type ResourceProps, Review, type ReviewProps, Reviews, type ReviewsProps, StarRating, type StarRatingProps, badgeVariants, buttonVariants, logoVariants };
