import { default as React } from 'react'; import { ActionCardProps, ActionCardSlotProps } from './ActionCard'; export type ActionCardAriaAttributes = 'aria-label' | 'aria-labelledby'; type ValidationProps = Pick & { cardElement: HTMLElement | null; }; export declare const validateActionCardProps: ({ aria, cardElement, }: ValidationProps) => void; type PrimaryActionControlValidationProps = { /** The `control` of the card's `PrimaryAction`. */ control: 'radio' | 'checkbox'; /** The `control` of the surrounding `DSActionCardGroup`, or `null` when the card has no group. */ groupControl: 'radio' | 'checkbox' | null; }; /** * Validates a selection `PrimaryAction` against the group it is rendered in. * * A radio is only meaningful as part of a set: it needs a group to supply the shared * `name` and the single-select behaviour. A checkbox is self-contained and works with * or without a group. What never works is a mismatch, because a `radiogroup` may only * own radios. */ export declare const validatePrimaryActionControl: ({ control, groupControl, }: PrimaryActionControlValidationProps) => void; /** * Filters a React children collection and returns only elements of a given slot type. * * Notes: * - Only valid React elements are considered; primitives (strings, numbers, etc.) are ignored. * - Returns a new array of React elements; original children are not mutated. * * @param sourceChildren React node(s) to search within (usually `children`). * @param target The slot component to match (e.g., `Header`, `Footer`). * @returns An array of matching React elements of the desired slot type. */ export declare const getChildrenOfType: (sourceChildren: React.ReactNode, target: React.ComponentType) => React.ReactElement[]; /** * Dev-only guard: warns when DSActionCard receives children that match none of its * slot components. The slot-based rendering silently drops such children, so without * this warning the content simply disappears without any feedback. * * @param sourceChildren The card's `children`. * @param slots All slot components the card renders. */ export declare const validateActionCardChildren: (sourceChildren: React.ReactNode, slots: React.ComponentType[]) => void; export {};