/**
 * Configuration for a section in the WCC Tools sidebar
 */
export interface IWccSection {
  /** Display name for the section header */
  name: string;
  /** How items in this section are rendered - 'elements' show demos, 'pages' render directly */
  type: 'elements' | 'pages';
  /** The items in this section - either element classes or page factory functions */
  items: Record<string, any>;
  /** Optional filter function to include/exclude items */
  filter?: (name: string, item: any) => boolean;
  /** Optional sort function for ordering items */
  sort?: (a: [string, any], b: [string, any]) => number;
  /** Optional Material icon name for the section header */
  icon?: string;
  /** Whether this section should start collapsed (default: false) */
  collapsed?: boolean;
}

/**
 * Configuration object for setupWccTools
 */
export interface IWccConfig {
  sections: IWccSection[];
}

/**
 * Type for element selection types - now section-based
 */
export type TElementType = 'element' | 'page';
