import { BaseComponent } from 'primeng/basecomponent';
import * as i1 from 'primeng/bind';
import { Bind } from 'primeng/bind';
import { LabelPassThrough } from 'primeng/types/label';
import { BaseStyle } from 'primeng/base';
import * as i0 from '@angular/core';

/**
 *
 * Label is used to create labels for form elements.
 *
 * [Live Demo](https://www.primeng.org/label/)
 *
 * @module labelstyle
 *
 */
declare enum LabelClasses {
    /**
     * Class name of the root element
     */
    root = "p-label"
}
declare class LabelStyle extends BaseStyle {
    name: string;
    style: string;
    classes: {
        root: string;
    };
    static ɵfac: i0.ɵɵFactoryDeclaration<LabelStyle, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LabelStyle>;
}
interface LabelStyle extends BaseStyle {
}

/**
 * Label directive is an extension to standard label element with theming.
 * @group Components
 */
declare class Label extends BaseComponent<LabelPassThrough> {
    componentName: string;
    _componentStyle: LabelStyle;
    $pcLabel: Label | undefined;
    bindDirectiveInstance: Bind;
    onAfterViewChecked(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<Label, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<Label, "label[pLabel]", never, {}, {}, never, never, true, [{ directive: typeof i1.Bind; inputs: {}; outputs: {}; }]>;
}
declare class LabelModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<LabelModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<LabelModule, never, [typeof Label], [typeof Label]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<LabelModule>;
}

export { Label, LabelClasses, LabelModule, LabelStyle };
