import type { SharedProps } from '@bonniernews/dn-design-system-web/assets/types/shared-props.ts'; export interface PillGroupItem { value: string; text: string; selected?: boolean; onClick?: () => void; } export interface PillGroupSingleSelectItem extends PillGroupItem { /** Required for `single-select` variant — each item links to its own page */ href: string; } interface PillGroupSharedProps extends SharedProps { size?: 'sm' | 'lg'; label: string; } interface PillGroupMultiSelectProps extends PillGroupSharedProps { variant: 'multi-select'; items: PillGroupItem[]; } interface PillGroupSingleSelectProps extends PillGroupSharedProps { variant: 'single-select'; items: PillGroupSingleSelectItem[]; } export type PillGroupProps = PillGroupMultiSelectProps | PillGroupSingleSelectProps; /** * - GitHub: [BonnierNews/dn-design-system/web/src/components/pill-group](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/pill-group) * - Storybook: [PillGroup](https://designsystem.dn.se/?path=/docs/basic-pillgroup--docs) * * The component will not include styling by itself. Make sure to include the right styles for the component. See example below: * `@use '@bonniernews/dn-design-system-web/components/pill-group/pill-group.scss'` * * A group of multi-select pills. Two variants: * - `multi-select` — multiple pills can be active at once (checkbox behaviour) * - `single-select` — only one pill can be active at a time (radio behaviour) * * The component is stateless — selection state and `onClick` handlers are managed by the consumer. */ export declare const PillGroup: ({ items, variant, size, label, classNames, attributes }: PillGroupProps) => import("preact").JSX.Element; export {};