import type { CoreParams } from './styles/core/core-css'; import type { Feature } from './theme-types'; import { type CssFragment } from './theme-types'; export type Part = { readonly id: string; readonly feature: string; readonly variant: string; readonly defaults: Partial; readonly css: ReadonlyArray; /** * Return a new Part new different default values for core grid params. */ withParams(defaults: Partial): Part; /** * Return a new part with additional params. Unlike `withParams`, this can * be used to add support for params used by the part's own CSS. */ withAdditionalParams(defaults: TAdditionalParams): Part; /** * Return a new Part with additional CSS. */ withCSS(css: CssFragment): Part; }; export declare const createPartVariant: (part: Part, variant: string) => Part; type AnyString = string & {}; /** * Create a new empty part. * * @param feature an The part feature, e.g. 'iconSet'. Adding a part to a theme will remove any existing part with the same feature. * @param variant an optional identifier for debugging, if omitted one will be generated */ export declare const createPart: (feature: Feature | AnyString, variant?: string) => Part; export {};