import type { ISettingsMap, IWarnControlledUsageParams } from '@fluentui/utilities'; export interface IWarningOptions
{ /** Name of the component */ name: string; /** Current component props */ props: P; /** Generic messages */ other?: string[]; /** Warns when props are required if a condition is met */ conditionallyRequired?: { /** Props required when the condition is met */ requiredProps: string[]; /** Name of the prop that the condition is based on */ conditionalPropName: string; /** Whether the condition is met */ condition: boolean; }[]; /** * Warns when deprecated props are being used. Each key is a prop name and each value is * either undefined or a replacement prop name. */ deprecations?: ISettingsMap
; /** * Warns when two props which are mutually exclusive are both being used. * The key is one prop name and the value is the other. */ mutuallyExclusive?: ISettingsMap
;
/**
* Check for and warn on the following error conditions with a form component:
* - A value prop is provided (indicated it's being used as controlled) without a change handler,
* and the component is not read-only
* - Both the value and defaultValue props are provided
* - The component is attempting to switch between controlled and uncontrolled
*
* The messages mimic the warnings React gives for these error conditions on input elements.
* The warning will only be displayed once per component instance.
*/
controlledUsage?: Pick (options: IWarningOptions ): void;