/** * Makes specified properties required. * * @example * ``` * import { AlertProps } from '~components/alert/interfaces' * * type InternalAlertProps = SomeRequired * * function Alert(props: AlertProps) { ... } * function InternalAlert(props: InternalAlertProps) { ... } * ``` */ export type SomeRequired = Type & { [Key in Keys]-?: Type[Key] }; /** * Makes specified properties optional. * * @example * ``` * type PartialAlertProps = SomeOptional * ``` */ export type SomeOptional = Omit & Partial>; /** * Utility type that makes a union of given type and undefined. * @example * ``` * type OptionalString = Optional * type OptionalStringOrNumber = Optional * ``` */ export type Optional = Type | undefined; /** * Use this function to mark conditions which should never be visited */ export declare function assertNever(_value: never): null; /** * Utility type for focus ring styling properties. * Used across components to provide consistent focus ring customization. * * @example * ``` * export interface Style { * root?: { * focusRing?: FocusRingStyle; * }; * } * ``` */ export interface FocusRingStyle { borderColor?: string; borderRadius?: string; borderWidth?: string; }