import React from 'react'; import { NewsKitIconProps } from '../icons'; import { EventData } from '../instrumentation'; import { TransitionToken } from '../theme/presets/types'; import { LogicalProps } from '../utils/logical-properties'; import { Override } from '../utils/overrides'; import { MQ } from '../utils/style/types'; export type BaseSwitchIconProps = NewsKitIconProps & Pick & { iconSize?: string; parentOverrides?: BaseSwitchOverrides; isFocused?: boolean; isHovered?: boolean; }; export type BaseSwitchOverrides = { /** * @deprecated This property is deprecated and will be removed in the next major release. Use `marginBlockEnd` instead. */ spaceStack?: MQ; input?: { size?: MQ; stylePreset?: MQ; spaceInline?: MQ; transitionPreset?: TransitionToken | TransitionToken[]; blockSize?: MQ; inlineSize?: MQ; } & LogicalProps; feedback?: { size?: MQ; stylePreset?: MQ; transitionPreset?: TransitionToken | TransitionToken[]; }; label?: { stylePreset?: MQ; typographyPreset?: MQ; }; thumb?: { size?: MQ; stylePreset?: MQ; transitionPreset?: TransitionToken | TransitionToken[]; }; icon?: Override; onIcon?: Override; offIcon?: Override; }; export type BaseSwitchSize = 'small' | 'medium' | 'large'; export type BaseSwitchState = 'valid' | 'invalid' | 'disabled'; export type BaseSwitchLabelPosition = 'start' | 'end'; export interface BaseSwitchProps extends Omit, 'size' | 'disabled'>, EventData { overrides?: BaseSwitchOverrides & LogicalProps; size?: BaseSwitchSize; state?: BaseSwitchState; label?: React.ReactNode; labelAttributes?: React.LabelHTMLAttributes; labelPosition?: BaseSwitchLabelPosition; path: string; defaultSwitchSelectorComponent: React.ComponentType; hideFeedback?: boolean; } //# sourceMappingURL=types.d.ts.map