import { ProgressBarPassThrough, ProgressBarContentTemplateContext } from 'primeng/types/progressbar';
export * from 'primeng/types/progressbar';
import * as i0 from '@angular/core';
import { TemplateRef, QueryList } from '@angular/core';
import * as i2 from 'primeng/api';
import { PrimeTemplate } from 'primeng/api';
import { BaseComponent } from 'primeng/basecomponent';
import * as i1 from 'primeng/bind';
import { Bind } from 'primeng/bind';
import * as _primeuix_styled from '@primeuix/styled';
import { BaseStyle } from 'primeng/base';

/**
 *
 * ProgressBar is a process status indicator.
 *
 * [Live Demo](https://www.primeng.org/progressbar)
 *
 * @module progressbarstyle
 *
 */
declare enum ProgressBarClasses {
    /**
     * Class name of the root element
     */
    root = "p-progressbar",
    /**
     * Class name of the value element
     */
    value = "p-progressbar-value",
    /**
     * Class name of the label element
     */
    label = "p-progressbar-label"
}
declare class ProgressBarStyle extends BaseStyle {
    name: string;
    style: _primeuix_styled.StyleType;
    classes: {
        root: ({ instance }: {
            instance: any;
        }) => (string | {
            'p-progressbar-determinate': boolean;
            'p-progressbar-indeterminate': boolean;
        })[];
        value: string;
        label: string;
    };
    static ɵfac: i0.ɵɵFactoryDeclaration<ProgressBarStyle, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ProgressBarStyle>;
}
interface ProgressBarStyle extends BaseStyle {
}

/**
 * ProgressBar is a process status indicator.
 * @group Components
 */
declare class ProgressBar extends BaseComponent<ProgressBarPassThrough> {
    componentName: string;
    $pcProgressBar: ProgressBar | undefined;
    bindDirectiveInstance: Bind;
    /**
     * Current value of the progress.
     * @group Props
     */
    value: number | undefined;
    /**
     * Whether to display the progress bar value.
     * @group Props
     */
    showValue: boolean;
    /**
     * Style class of the element.
     * @deprecated since v20.0.0, use `class` instead.
     * @group Props
     */
    styleClass: string | undefined;
    /**
     * Style class of the value element.
     * @group Props
     */
    valueStyleClass: string | undefined;
    /**
     * Unit sign appended to the value.
     * @group Props
     */
    unit: string;
    /**
     * Defines the mode of the progress
     * @defaultValue 'determinate'
     * @group Props
     */
    mode: 'determinate' | 'indeterminate';
    /**
     * Color for the background of the progress.
     * @group Props
     */
    color: string | undefined;
    /**
     * Template of the content.
     * @param {ProgressBarContentTemplateContext} context - content context.
     * @see {@link ProgressBarContentTemplateContext}
     * @group Templates
     */
    contentTemplate: TemplateRef<ProgressBarContentTemplateContext> | undefined;
    onAfterViewChecked(): void;
    _componentStyle: ProgressBarStyle;
    templates: QueryList<PrimeTemplate> | undefined;
    _contentTemplate: TemplateRef<ProgressBarContentTemplateContext> | undefined;
    onAfterContentInit(): void;
    get dataP(): string | undefined;
    static ɵfac: i0.ɵɵFactoryDeclaration<ProgressBar, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ProgressBar, "p-progressBar, p-progressbar, p-progress-bar", never, { "value": { "alias": "value"; "required": false; }; "showValue": { "alias": "showValue"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "valueStyleClass": { "alias": "valueStyleClass"; "required": false; }; "unit": { "alias": "unit"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, {}, ["contentTemplate", "templates"], never, true, [{ directive: typeof i1.Bind; inputs: {}; outputs: {}; }]>;
    static ngAcceptInputType_value: unknown;
    static ngAcceptInputType_showValue: unknown;
}
declare class ProgressBarModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<ProgressBarModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<ProgressBarModule, never, [typeof ProgressBar, typeof i2.SharedModule], [typeof ProgressBar, typeof i2.SharedModule]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<ProgressBarModule>;
}

export { ProgressBar, ProgressBarClasses, ProgressBarModule, ProgressBarStyle };
