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-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; }; }; 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 };