import type { DecorationSize, LegendDecorationItem } from './types'; type LegendOrientation = `horizontal` | `vertical`; export type LegendItemExtent = Partial; export type LegendTrackSuggestionConfig = { item_count: number; orientation: LegendOrientation; available_edge_length: number; item_extents?: readonly (LegendItemExtent | undefined)[]; estimated_item_extent?: LegendItemExtent; gap?: number; }; type LegendGridItem = { label: string; legend_group?: string; }; type LegendGridCell = { kind: `filter`; } | { kind: `empty`; } | { kind: `group`; group: string; } | { kind: `item`; item_idx: number; }; type LegendDecorationConfig = { axis_clearance?: number; layout_tracks?: number | `auto`; layout?: LegendOrientation; item_extents?: readonly (LegendItemExtent | undefined)[]; estimated_item_extent?: LegendItemExtent; collapsed_groups?: ReadonlySet; filterable?: boolean; filter_threshold?: number; filter_query?: string; }; export declare function get_legend_grid_cells({ items, collapsed_groups, filter_query, show_filter, }: { items: readonly LegendGridItem[]; collapsed_groups?: ReadonlySet; filter_query?: string; show_filter?: boolean; }): LegendGridCell[]; export declare const create_legend_decoration_item: ({ enabled, footprint, items, config, }: { enabled: boolean; footprint: DecorationSize; items: readonly LegendGridItem[]; config?: LegendDecorationConfig | null; }) => LegendDecorationItem | null; export declare const resolve_legend_layout_tracks: (layout_tracks: number | `auto` | undefined, placement?: { layout_tracks?: number; } | null) => number | `auto` | undefined; export declare const suggest_legend_tracks: ({ item_count, orientation, available_edge_length, item_extents, estimated_item_extent, gap, }: LegendTrackSuggestionConfig) => number; export {};