import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React from 'react';
import { OptixFlowConfig } from '@page-speed/img';
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives--8cXayNa.js';
import './blocks-DCvdF54D.js';
import 'class-variance-authority';
import '@page-speed/pressable';
import '@opensite/hooks/usePlatformFromUrl';

interface ProjectFilterableGalleryItem {
    id: number;
    title: string;
    category: string;
    description: string;
    image: string;
    tags: string[];
}
interface ProjectFilterableGalleryProps {
    /**
     * Array of project configurations
     */
    projects?: ProjectFilterableGalleryItem[];
    /**
     * Custom slot for rendering projects (overrides projects array)
     */
    projectsSlot?: React.ReactNode;
    /**
     * Array of category filter options
     */
    categories?: string[];
    /**
     * OptixFlow image optimization configuration
     */
    optixFlowConfig?: OptixFlowConfig;
    /**
     * Section background style
     */
    background?: SectionBackground;
    /**
     * Section spacing
     */
    spacing?: SectionSpacing;
    /**
     * Background pattern
     */
    pattern?: PatternName | undefined;
    /**
     * Pattern opacity (0-1)
     */
    patternOpacity?: number;
    /**
     * Additional CSS classes for the section
     */
    className?: string;
    /**
     * Additional CSS classes for the container
     */
    containerClassName?: string;
    /**
     * Additional CSS classes for the filter buttons container
     */
    filtersClassName?: string;
    /**
     * Additional CSS classes for each filter button
     */
    filterButtonClassName?: string;
    /**
     * Additional CSS classes for the grid
     */
    gridClassName?: string;
    /**
     * Additional CSS classes for each project card
     */
    cardClassName?: string;
    /**
     * Additional CSS classes for the empty state
     */
    emptyStateClassName?: string;
    /** Optional Section ID */
    sectionId?: string;
}
/**
 * ProjectFilterableGallery - Two-column filterable gallery with category tabs and hover overlays.
 *
 * Features a horizontal row of filter buttons that animate the grid when clicked. Projects
 * display in a 2-column grid with 4:3 aspect ratio images. On hover, a dark overlay appears
 * with category label, title, and description sliding up. Filter transitions use smooth
 * scale and opacity animations. Shows empty state message when no items match the filter.
 * Ideal for photography portfolios, design galleries, or any collection that benefits from
 * category-based filtering.
 */
declare function ProjectFilterableGallery({ sectionId, projects, projectsSlot, categories, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, filtersClassName, filterButtonClassName, gridClassName, cardClassName, emptyStateClassName, }: ProjectFilterableGalleryProps): react_jsx_runtime.JSX.Element;

export { ProjectFilterableGallery, type ProjectFilterableGalleryItem, type ProjectFilterableGalleryProps };
