export interface AnatomyPart { selector: string; className: string; toString(): string; } export type AnatomyInstance = Omit, 'parts'>; export type AnatomyPartName = T extends AnatomyInstance ? U : never; export interface Anatomy { toPart: (part: string) => AnatomyPart; parts: (...parts: U[]) => AnatomyInstance; extend: (...parts: V[]) => AnatomyInstance; readonly keys: T[]; selectors: () => Record; classnames: () => Record; __type: T; } /** * Used to define the anatomy/parts of a component in a way that provides * a consistent API for `className`, css selector and `theming`. */ export declare function anatomy(name: string, map?: any): Anatomy;