import * as React from 'react'; import { StyledComponentProps } from '@material-ui/core/styles'; /** * TODO import from the v5 directly * * Remove properties `K` from `T`. * Distributive for union types. * * @internal */ export declare type DistributiveOmit = T extends any ? Omit : never; /** * TODO import from the core v5 directly * * @internal ONLY USE FROM WITHIN mui-org/material-ui * * Internal helper type for conform (describeConformance) components * However, we don't declare classes on this type. * It is recommended to declare them manually with an interface so that each class can have a separate JSDOC. */ export declare type InternalStandardProps = DistributiveOmit & StyledComponentProps & { ref?: C extends { ref?: infer RefType; } ? RefType : React.Ref; className?: string; style?: React.CSSProperties; }; export declare function useEventCallback any>(func: T): T; export declare const useEnhancedEffect: typeof React.useLayoutEffect; export declare function useThemeProps({ props: inputProps, name }: { props: any; name: any; }): any; export declare function composeClasses(slots: Record>, getUtilityClass: (slot: string) => string, classes: Record | undefined): Record; export declare function generateUtilityClass(componentName: string, slot: string): string; export declare function generateUtilityClasses(componentName: string, slots: T[]): Record;