import React from 'react';
import type { EventFilterCategory, EventFilterStaffMember, EventFilterVenue } from '../../../api/types';
type EventFiltersProps = {
    /** Available categories */
    categories: EventFilterCategory[];
    /** Available venues */
    venues: EventFilterVenue[];
    /** Available staff members */
    staffMembers: EventFilterStaffMember[];
    /** Currently selected kind (all/courses/events) */
    selectedKind: 'all' | 'courses' | 'events';
    /** Currently selected category ID (or 'all') */
    selectedCategoryId: string;
    /** Currently selected staff member ID (or 'all') */
    selectedStaffMemberId: string;
    /** Currently selected venue ID (or 'all') */
    selectedVenueId: string;
    /** Whether to show category filter */
    showCategoryFilter: boolean;
    /** Whether to show venue filter */
    showVenueFilter: boolean;
    /** Whether to show staff filter */
    showStaffFilter: boolean;
    /** Whether the category UI should include the Course option */
    showCourseOption: boolean;
    /** Label for the course-like category option */
    courseOptionLabel: string;
    /** Callback when category changes */
    onCategoryChange: (categoryId: string) => void;
    /** Callback when kind changes */
    onKindChange: (kind: 'all' | 'courses' | 'events') => void;
    /** Callback when staff changes */
    onStaffMemberChange: (staffMemberId: string) => void;
    /** Callback when venue changes */
    onVenueChange: (venueId: string) => void;
    /** Loading state */
    loading?: boolean;
    /** Optional id base to avoid collisions when multiple blocks render */
    idBase?: string;
    className?: string;
};
/**
 * EventFilters Component
 *
 * Renders category filter buttons and venue dropdown for event lists.
 * Uses semantic CSS classes for styling.
 */
export declare const EventFilters: React.FC<EventFiltersProps>;
export default EventFilters;
