import * as React from 'react';
import { P as PatternName } from './pattern-background-a7gKHzHy.js';
import { SectionBackground, SectionSpacing } from './types.js';
import { I as ImageItem, A as ActionConfig, a as SocialLinkItem, O as OptixFlowConfig } from './blocks-BmrJXeAA.js';
import 'react/jsx-runtime';
import 'class-variance-authority';
import './button-variants-OIpPF9yW.js';
import 'class-variance-authority/types';

/**
 * Link item for the link tree
 */
interface LinkTreeLink extends ActionConfig {
    id?: string;
    description?: React.ReactNode;
    featured?: boolean;
    badge?: React.ReactNode;
    badgeVariant?: "default" | "secondary" | "destructive" | "outline";
    iconName?: string;
}
/**
 * Social link for the link tree
 */
interface SocialLink extends SocialLinkItem {
    id?: string;
    iconName?: string;
}
/**
 * Media gallery item for the link tree
 */
interface MediaGalleryItem {
    id?: string;
    type: "image" | "video";
    src: string;
    alt?: string;
    href?: string;
    poster?: string;
    className?: string;
    mediaClassName?: string;
}
/**
 * Props for the LinkTreeBlock component
 */
interface LinkTreeBlockProps {
    /**
     * Brand/profile name displayed at the top
     */
    brandName?: React.ReactNode;
    /**
     * Optional tagline or bio displayed below the name
     */
    brandTagline?: React.ReactNode;
    /**
     * Optional logo image (used if no avatar is provided)
     */
    brandLogo?: ImageItem | string;
    /**
     * Optional avatar image (takes precedence over logo)
     */
    brandAvatar?: ImageItem | string;
    /**
     * Whether to show a verified badge next to the name
     */
    brandVerified?: boolean;
    /**
     * Custom verified icon
     */
    verifiedIcon?: React.ReactNode;
    /**
     * Custom slot for rendering brand header
     */
    brandSlot?: React.ReactNode;
    /**
     * Array of links to display
     */
    links?: LinkTreeLink[];
    /**
     * Custom slot for rendering links (overrides links array)
     */
    linksSlot?: React.ReactNode;
    /**
     * Array of social media links
     */
    socialLinks?: SocialLink[];
    /**
     * Custom slot for rendering social links (overrides socialLinks array)
     */
    socialLinksSlot?: React.ReactNode;
    /**
     * Array of media items for the gallery section
     */
    mediaGallery?: MediaGalleryItem[];
    /**
     * Custom slot for rendering media gallery (overrides mediaGallery array)
     */
    mediaGallerySlot?: React.ReactNode;
    /**
     * Title for the media gallery section
     */
    mediaGalleryTitle?: React.ReactNode;
    /**
     * Maximum number of media items to show
     */
    mediaGalleryLimit?: number;
    /**
     * Footer action configuration
     */
    footerAction?: ActionConfig;
    /**
     * Custom slot for rendering footer content
     */
    footerSlot?: React.ReactNode;
    /**
     * Additional CSS classes for the section
     */
    className?: string;
    /**
     * Additional CSS classes for the outer wrapper
     */
    containerClassName?: string;
    /**
     * Additional CSS classes for the inner content container
     */
    contentClassName?: string;
    /**
     * Additional CSS classes for the brand header
     */
    headerClassName?: string;
    /**
     * Additional CSS classes for the avatar wrapper
     */
    avatarClassName?: string;
    /**
     * Additional CSS classes for the brand name
     */
    nameClassName?: string;
    /**
     * Additional CSS classes for the brand tagline
     */
    taglineClassName?: string;
    /**
     * Additional CSS classes for the verified badge container
     */
    verifiedBadgeClassName?: string;
    /**
     * Additional CSS classes for the verified icon
     */
    verifiedIconClassName?: string;
    /**
     * Additional CSS classes for the links container
     */
    linksClassName?: string;
    /**
     * Additional CSS classes for link items
     */
    linkClassName?: string;
    /**
     * Additional CSS classes for featured link items
     */
    featuredLinkClassName?: string;
    /**
     * Additional CSS classes for link icons
     */
    linkIconClassName?: string;
    /**
     * Additional CSS classes for link labels
     */
    linkLabelClassName?: string;
    /**
     * Additional CSS classes for link descriptions
     */
    linkDescriptionClassName?: string;
    /**
     * Additional CSS classes for link badges
     */
    linkBadgeClassName?: string;
    /**
     * Additional CSS classes for link chevron icon
     */
    linkChevronClassName?: string;
    /**
     * Additional CSS classes for the media gallery section
     */
    mediaGalleryClassName?: string;
    /**
     * Additional CSS classes for the media gallery title
     */
    mediaGalleryTitleClassName?: string;
    /**
     * Additional CSS classes for the media gallery grid
     */
    mediaGalleryGridClassName?: string;
    /**
     * Additional CSS classes for media gallery items
     */
    mediaGalleryItemClassName?: string;
    /**
     * Additional CSS classes for media elements
     */
    mediaGalleryMediaClassName?: string;
    /**
     * Additional CSS classes for media overlay
     */
    mediaGalleryOverlayClassName?: string;
    /**
     * Additional CSS classes for media play icon
     */
    mediaGalleryPlayIconClassName?: string;
    /**
     * Additional CSS classes for the social links container
     */
    socialLinksClassName?: string;
    /**
     * Additional CSS classes for each social link
     */
    socialLinkClassName?: string;
    /**
     * Additional CSS classes for social icons
     */
    socialIconClassName?: string;
    /**
     * Additional CSS classes for the footer
     */
    footerClassName?: string;
    /**
     * Theme variation for the component.
     * - "light": Light background with dark text (default)
     * - "dark": Dark background with light text
     * - "glass": Glassmorphism effect with gradient background
     */
    theme?: "light" | "dark" | "glass";
    /**
     * Background style for the section
     */
    background?: SectionBackground;
    /**
     * Vertical spacing for the section
     */
    spacing?: SectionSpacing;
    /**
     * Optional background pattern name or URL
     */
    pattern?: PatternName | undefined;
    /**
     * Pattern overlay opacity (0-1)
     */
    patternOpacity?: number;
    /**
     * Additional CSS classes for the pattern overlay
     */
    patternClassName?: string;
    /**
     * Background pattern URL (legacy)
     */
    backgroundPattern?: PatternName | undefined;
    /**
     * Custom accent color CSS value (applied as --accent-color CSS variable)
     */
    accentColor?: string;
    /**
     * OptixFlow image optimization configuration
     */
    optixFlowConfig?: OptixFlowConfig;
}
/**
 * LinkTreeBlock - A customizable link-in-bio style page component with three theme variations.
 *
 * This component provides a complete link page solution with:
 * - Brand header with avatar, name, tagline, and optional verified badge
 * - Customizable link list with icons, descriptions, badges, and featured states
 * - Media gallery section for showcasing images and videos
 * - Social media links section
 * - Three theme variations: light, dark, and glass (glassmorphism)
 * - Background pattern customization using patternSvgs
 *
 * @example
 * ```tsx
 * // Light theme (default)
 * <LinkTreeBlock
 *   brandName="Sarah Chen"
 *   brandTagline="Digital creator & photographer"
 *   links={[
 *     { id: "1", label: "My Website", href: "https://example.com", iconName: "lucide/globe" }
 *   ]}
 * />
 *
 * // Dark theme with pattern background
 * <LinkTreeBlock
 *   brandName="Sarah Chen"
 *   theme="dark"
 *   backgroundPattern={patternSvgs.dots}
 * />
 *
 * // Glass theme with gradient background
 * <LinkTreeBlock
 *   brandName="Sarah Chen"
 *   theme="glass"
 * />
 * ```
 */
declare function LinkTreeBlock({ brandName, brandTagline, brandLogo, brandAvatar, brandVerified, verifiedIcon, brandSlot, links, linksSlot, socialLinks, socialLinksSlot, mediaGallery, mediaGallerySlot, mediaGalleryTitle, mediaGalleryLimit, footerAction, footerSlot, className, containerClassName, contentClassName, headerClassName, avatarClassName, nameClassName, taglineClassName, verifiedBadgeClassName, verifiedIconClassName, linksClassName, linkClassName, featuredLinkClassName, linkIconClassName, linkLabelClassName, linkDescriptionClassName, linkBadgeClassName, linkChevronClassName, mediaGalleryClassName, mediaGalleryTitleClassName, mediaGalleryGridClassName, mediaGalleryItemClassName, mediaGalleryMediaClassName, mediaGalleryOverlayClassName, mediaGalleryPlayIconClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, footerClassName, theme, background, spacing, pattern, patternOpacity, patternClassName, backgroundPattern, accentColor, optixFlowConfig, }: LinkTreeBlockProps): React.JSX.Element;

export { LinkTreeBlock, type LinkTreeBlockProps, type LinkTreeLink, type MediaGalleryItem, type SocialLink };
