type KoliBriComponentsBemSchema = { 'kol-alert': { elements: { container: { modifiers: null; }; icon: { modifiers: null; }; heading: { modifiers: Set<'h0' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'>; }; content: { modifiers: null; }; closer: { modifiers: null; }; }; modifiers: Set<'hasCloser' | 'type-default' | 'type-error' | 'type-info' | 'type-success' | 'type-warning' | 'variant-card' | 'variant-msg'>; }; 'kol-avatar': { elements: { image: { modifiers: null; }; initials: { modifiers: null; }; }; modifiers: null; }; 'kol-icon': { elements: { icon: { modifiers: null; }; }; modifiers: null; }; 'kol-meter': { elements: { bar: { modifiers: null; }; 'bar-label': { modifiers: null; }; 'bar-state': { modifiers: Set<'optimum' | 'suboptimal' | 'critical'>; }; 'bar-track': { modifiers: null; }; 'bar-fill': { modifiers: Set<'optimum' | 'suboptimal' | 'critical'>; }; 'bar-background': { modifiers: null; }; 'bar-border': { modifiers: null; }; 'value-unit': { modifiers: null; }; value: { modifiers: null; }; unit: { modifiers: null; }; }; modifiers: Set<'vertical'>; }; 'kol-quote': { elements: { blockquote: { modifiers: null; }; cite: { modifiers: null; }; figcaption: { modifiers: null; }; quote: { modifiers: null; }; }; modifiers: Set<'block' | 'inline'>; }; 'kol-skeleton': { elements: { container: { modifiers: null; }; name: { modifiers: null; }; counter: { modifiers: null; }; actions: { modifiers: null; }; }; modifiers: Set<'has-name' | 'is-hidden'>; }; 'kol-click-button': { elements: { label: { modifiers: null; }; }; modifiers: null; }; 'kol-span': { elements: { container: { modifiers: null; }; icon: { modifiers: Set<'bottom' | 'left' | 'right' | 'top'>; }; label: { modifiers: null; }; }; modifiers: Set<'has-badge' | 'hide-label'>; }; 'kol-spin': { elements: { spinner: { modifiers: Set<'cycle' | 'dot' | 'none'>; }; 'spinner-element': { modifiers: Set<'1' | '2' | '3' | 'neutral'>; }; loader: { modifiers: null; }; }; modifiers: null; }; }; export declare const bem: { >(blockName: BlockName, blockModifiersOrElementName?: ElementName | ((KoliBriComponentsBemSchema[BlockName]["modifiers"] extends infer T ? T extends KoliBriComponentsBemSchema[BlockName]["modifiers"] ? T extends Set ? U : never : never : never) extends never ? undefined : Partial ? U : never : never : never, boolean>>) | undefined, elementModifiers?: ((NonNullable[ElementName]["modifiers"] extends infer T_2 ? T_2 extends NonNullable[ElementName]["modifiers"] ? T_2 extends Set ? U : never : never : never) extends never ? undefined : Partial[ElementName]["modifiers"] extends infer T_3 ? T_3 extends NonNullable[ElementName]["modifiers"] ? T_3 extends Set ? U : never : never : never, boolean>>) | undefined): string; forBlock(blockName: BlockName): { >(elementNameOrBlockModifiers?: ElementName | ((KoliBriComponentsBemSchema[BlockName]["modifiers"] extends infer T ? T extends KoliBriComponentsBemSchema[BlockName]["modifiers"] ? T extends Set ? U : never : never : never) extends never ? undefined : Partial ? U : never : never : never, boolean>>) | undefined, elementModifiers?: ((NonNullable[ElementName]["modifiers"] extends infer T_2 ? T_2 extends NonNullable[ElementName]["modifiers"] ? T_2 extends Set ? U : never : never : never) extends never ? undefined : Partial[ElementName]["modifiers"] extends infer T_3 ? T_3 extends NonNullable[ElementName]["modifiers"] ? T_3 extends Set ? U : never : never : never, boolean>>) | undefined): string; forElement: >(elementName: ElementName) => (elementModifiers?: ((NonNullable[ElementName]["modifiers"] extends infer T ? T extends NonNullable[ElementName]["modifiers"] ? T extends Set ? U : never : never : never) extends never ? undefined : Partial[ElementName]["modifiers"] extends infer T_1 ? T_1 extends NonNullable[ElementName]["modifiers"] ? T_1 extends Set ? U : never : never : never, boolean>>) | undefined) => string; }; } & { forBlock: (blockName: BlockName) => { >(elementNameOrBlockModifiers?: ElementName | ((KoliBriComponentsBemSchema[BlockName]["modifiers"] extends infer T ? T extends KoliBriComponentsBemSchema[BlockName]["modifiers"] ? T extends Set ? U : never : never : never) extends never ? undefined : Partial ? U : never : never : never, boolean>>) | undefined, elementModifiers?: ((NonNullable[ElementName]["modifiers"] extends infer T_2 ? T_2 extends NonNullable[ElementName]["modifiers"] ? T_2 extends Set ? U : never : never : never) extends never ? undefined : Partial[ElementName]["modifiers"] extends infer T_3 ? T_3 extends NonNullable[ElementName]["modifiers"] ? T_3 extends Set ? U : never : never : never, boolean>>) | undefined): string; forElement: >(elementName: ElementName) => (elementModifiers?: ((NonNullable[ElementName]["modifiers"] extends infer T ? T extends NonNullable[ElementName]["modifiers"] ? T extends Set ? U : never : never : never) extends never ? undefined : Partial[ElementName]["modifiers"] extends infer T_1 ? T_1 extends NonNullable[ElementName]["modifiers"] ? T_1 extends Set ? U : never : never : never, boolean>>) | undefined) => string; }; }; declare const BEM: KoliBriComponentsBemSchema; export { BEM };