type SCHEMA = { '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'>; }; }; declare const bem: { >(blockName: BlockName, blockModifiersOrElementName?: ElementName | ((SCHEMA[BlockName]["modifiers"] extends infer T ? T extends SCHEMA[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 | ((SCHEMA[BlockName]["modifiers"] extends infer T ? T extends SCHEMA[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 | ((SCHEMA[BlockName]["modifiers"] extends infer T ? T extends SCHEMA[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: SCHEMA; declare const BEM_CLASS_ALERT__CLOSER: string; declare const BEM_CLASS_ALERT__CONTENT: string; declare const BEM_CLASS_ALERT__ICON: string; export { BEM as BEM_ALERT, BEM_CLASS_ALERT__CLOSER, BEM_CLASS_ALERT__CONTENT, BEM_CLASS_ALERT__ICON, bem as genBemAlert };