import * as i0 from '@angular/core';

/**
 * Represents the suitable value types of pClass directive.
 * @group Types
 */
type PClassValue = string | number | boolean | undefined | null | {
    [key: string]: boolean | undefined | null;
} | any;
/**
 * PClass directive provides extends class binding functionality.
 * Supports strings, arrays, objects, and mixed combinations.
 * @group Components
 */
declare class ClassNames {
    /**
     * Class value(s) to be applied. Can be a string, array, object, or combination.
     * @group Props
     */
    classNames: i0.InputSignal<any>;
    classes: i0.Signal<string | undefined>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ClassNames, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ClassNames, "[pClass]", never, { "classNames": { "alias": "pClass"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class ClassNamesModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<ClassNamesModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<ClassNamesModule, never, [typeof ClassNames], [typeof ClassNames]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<ClassNamesModule>;
}

export { ClassNames, ClassNamesModule };
export type { PClassValue };
