import { ChangeEvent, MouseEvent } from "react"; export interface ISubpart { label: string; value?: Function; } export interface ISubpartSuffix { label: string; suffix: string; } export type ISubpartMap = { [key in T]: ISubpart; }; export declare const DATA_CY_SUFFIX_SEPARATOR = "-"; /** * Gets composed dataCy for components with subparts * @param dataCy the dataCy prefix * @param subpart the subpart to consider * @param args optional arguments for subpart evaluation */ export declare const getComposedDataCy: (dataCy: string, subpart: ISubpart, args?: any) => string; /** * Gets all composed dataCy for all listed subparts * @param subpartMap the map of all subparts to consider */ export declare const getAllComposedDataCy: (subpartMap: ISubpartMap) => ISubpartSuffix[]; /** * Gets an object property by path, if path is nested is executed recursively * @param object the source object * @param path the desired path */ export declare const getObjectProperty: (object: any, path: string) => any; /** * Creates slug or kebab-case string from value * @param value the value to slugify */ export declare const slugify: (value: string) => string; /** * Suppresses default behaviour and propagation of a given event * @param event the event to suppress */ export declare const suppressEvent: (event: ChangeEvent | MouseEvent | null) => void;