import * as React from 'react';
import { f as SectionBackground, g as SectionSpacing, t as PatternName } from './community-initiatives-DmVsuoHE.js';
import { O as OptixFlowConfig } from './blocks-XLPGq8A5.js';
import 'react/jsx-runtime';
import 'class-variance-authority';
import './button-variants-CdNtNOuP.js';
import 'class-variance-authority/types';

/**
 * Individual team member item for TeamMediaShowcase
 */
interface TeamMediaShowcaseItem {
    /**
     * Image source URL for the team member (required)
     */
    imageSrc: string;
    /**
     * Team member's name (optional)
     */
    name?: string;
    /**
     * Team member's role/title (optional)
     */
    role?: string;
    /**
     * Custom action element to display on hover (optional)
     * Can be a button, link, or any React node
     */
    action?: React.ReactNode;
    /**
     * Alt text for the image (defaults to name or generic text)
     */
    imageAlt?: string;
    /**
     * Additional CSS classes for the card
     */
    cardClassName?: string;
}
/**
 * Props for TeamMediaShowcase component
 */
interface TeamMediaShowcaseProps {
    /**
     * Array of team member items to display (required)
     * Each item must have at least an imageSrc
     */
    items: TeamMediaShowcaseItem[];
    /**
     * Custom slot for rendering items (overrides items array)
     */
    itemsSlot?: React.ReactNode;
    /**
     * Optional children to render above the grid (e.g., section header content)
     */
    children?: React.ReactNode;
    /**
     * Eyebrow text displayed above the grid
     */
    listEyebrow?: React.ReactNode;
    /**
     * Background style variant for the section
     * @default "white"
     */
    background?: SectionBackground;
    /**
     * Vertical spacing/margin variant
     * @default "lg"
     */
    spacing?: SectionSpacing;
    /**
     * Optional background pattern name or URL
     */
    pattern?: PatternName | undefined;
    /**
     * Pattern overlay opacity (0-1)
     */
    patternOpacity?: number;
    /**
     * Custom grid CSS classes
     * @default "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"
     */
    gridClassName?: string;
    /**
     * Additional CSS classes for the section wrapper
     */
    className?: string;
    /**
     * Additional CSS classes for the eyebrow text
     */
    eyebrowClassName?: string;
    /**
     * Additional CSS classes for the member name
     */
    memberNameClassName?: string;
    /**
     * Additional CSS classes for the member role
     */
    memberRoleClassName?: string;
    /**
     * Additional CSS classes for the action container
     */
    actionClassName?: string;
    /**
     * Optional Optix Flow configuration for @page-speed/img
     */
    optixFlowConfig?: OptixFlowConfig;
}
/**
 * Props for TeamMemberBackgroundImageCard component
 */
interface TeamMemberBackgroundImageCardProps extends React.HTMLAttributes<HTMLDivElement> {
    /**
     * Image URL for the background
     */
    imageUrl: string;
    /**
     * Alt text for the image
     */
    imageAlt: string;
    /**
     * Card content (overlaid on the image)
     */
    children?: React.ReactNode;
    /**
     * Optional Optix Flow configuration for @page-speed/img
     */
    optixFlowConfig?: OptixFlowConfig;
    /**
     * Background style variant for dynamic color utilities
     */
    background?: SectionBackground;
}
/**
 * TeamMemberBackgroundImageCard - Individual card with background image and hover effects
 *
 * Displays a team member with a full-bleed background image that zooms on hover,
 * with a gradient overlay for text readability.
 */
declare const TeamMemberBackgroundImageCard: React.ForwardRefExoticComponent<TeamMemberBackgroundImageCardProps & React.RefAttributes<HTMLDivElement>>;
/**
 * TeamMediaShowcase - Display team members in a grid with background images
 *
 * A responsive grid of team member cards featuring full-bleed background images
 * with hover effects. Each card shows the member's name and role with an optional
 * action element that appears on hover.
 *
 * @example
 * ```tsx
 * <TeamMediaShowcase
 *   listEyebrow="Our Team"
 *   items={[
 *     {
 *       imageSrc: "/team/john.jpg",
 *       name: "John Doe",
 *       role: "CEO",
 *       action: <Pressable href="/team/john" variant="default" asButton>View Profile</Pressable>
 *     },
 *     {
 *       imageSrc: "/team/jane.jpg",
 *       name: "Jane Smith",
 *       role: "CTO"
 *     }
 *   ]}
 * />
 * ```
 */
declare function TeamMediaShowcase({ items, itemsSlot, children, listEyebrow, background, spacing, pattern, patternOpacity, gridClassName, className, eyebrowClassName, memberNameClassName, memberRoleClassName, actionClassName, optixFlowConfig, }: TeamMediaShowcaseProps): React.JSX.Element;

export { TeamMediaShowcase, type TeamMediaShowcaseItem, type TeamMediaShowcaseProps, TeamMemberBackgroundImageCard };
