/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
import { DoCheck, ElementRef, Renderer2 } from '@angular/core';
import * as i0 from "@angular/core";
/**
* @ngModule CommonModule
*
* @usageNotes
* ```
* ...
*
* ...
*
* ...
*
* ...
*
* ...
* ```
*
* @description
*
* Adds and removes CSS classes on an HTML element.
*
* The CSS classes are updated as follows, depending on the type of the expression evaluation:
* - `string` - the CSS classes listed in the string (space delimited) are added,
* - `Array` - the CSS classes declared as Array elements are added,
* - `Object` - keys are CSS classes that get added when the expression given in the value
* evaluates to a truthy value, otherwise they are removed.
*
* @publicApi
*/
export declare class NgClass implements DoCheck {
private _ngEl;
private _renderer;
private initialClasses;
private rawClass;
private stateMap;
constructor(_ngEl: ElementRef, _renderer: Renderer2);
set klass(value: string);
set ngClass(value: string | string[] | Set | {
[klass: string]: any;
} | null | undefined);
ngDoCheck(): void;
private _updateState;
private _applyStateDiff;
private _toggleClass;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaration;
}
declare const NgClass_Listeners:[];
declare const NgClass_Properties:[];