import type { Category } from "@agg-build/sdk";
import type { SubcategoryPathEntry } from "./event-list.utils";
export type CategorySidebarLabels = {
    subcategoriesAll: string;
};
export type CategorySidebarToggleParams = {
    entry: SubcategoryPathEntry;
    depth: number;
    hasKnownChildren: boolean;
    isExpanded: boolean;
    isSelected: boolean;
};
export type CategorySidebarProps = {
    /** Root category whose direct children populate the sidebar. */
    baseCategoryId: string | null;
    /** Children of each category, keyed by parent ID. */
    childrenByParentId: ReadonlyMap<string, readonly Category[]>;
    /** Drill path beneath the root (depth-0 = first child of baseCategoryId). */
    categoryPath: readonly SubcategoryPathEntry[];
    /** Categories that are selected but explicitly collapsed. */
    collapsedCategoryIds: ReadonlySet<string>;
    /** Event count shown on the "All" row (total for the root category). */
    totalEventCount: number;
    labels: CategorySidebarLabels;
    /** Called when the "All" row is clicked. */
    onSelectAll: () => void;
    /** Called when any category row is clicked. */
    onToggleCategory: (params: CategorySidebarToggleParams) => void;
};
export declare const CategorySidebar: {
    ({ baseCategoryId, childrenByParentId, categoryPath, collapsedCategoryIds, totalEventCount, labels, onSelectAll, onToggleCategory, }: CategorySidebarProps): JSX.Element;
    displayName: string;
};
