import { BlockUIPassThrough } from 'primeng/types/blockui';
export * from 'primeng/types/blockui';
import * as i0 from '@angular/core';
import { TemplateRef } from '@angular/core';
import { BaseComponent } from 'primeng/basecomponent';
import * as i1 from 'primeng/bind';
import { Bind } from 'primeng/bind';
import { BaseStyle } from 'primeng/base';
import * as i2 from 'primeng/api';

declare class BlockUiStyle extends BaseStyle {
    name: string;
    style: string;
    classes: {
        root: ({ instance }: {
            instance: any;
        }) => (string | {
            'p-blockui-mask-document': boolean;
        })[];
    };
    static ɵfac: i0.ɵɵFactoryDeclaration<BlockUiStyle, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<BlockUiStyle>;
}
/**
 *
 * BlockUI represents people using icons, labels and images.
 *
 * [Live Demo](https://www.primeng.org/blockui)
 *
 * @module blockuistyle
 *
 */
declare enum BlockUIClasses {
    /**
     * Class name of the root element
     */
    root = "p-blockui"
}
interface BlockUIStyle extends BaseStyle {
}

/**
 * BlockUI can either block other components or the whole page.
 * @group Components
 */
declare class BlockUI extends BaseComponent<BlockUIPassThrough> {
    componentName: string;
    $pcBlockUI: BlockUI | undefined;
    bindDirectiveInstance: Bind;
    /**
     * Name of the local ng-template variable referring to another component.
     * @group Props
     */
    target: i0.InputSignal<any>;
    /**
     * Whether to automatically manage layering.
     * @group Props
     */
    autoZIndex: i0.InputSignalWithTransform<boolean, unknown>;
    /**
     * Base zIndex value to use in layering.
     * @group Props
     */
    baseZIndex: i0.InputSignalWithTransform<number, unknown>;
    /**
     * Current blocked state as a boolean.
     * @group Props
     */
    blocked: i0.InputSignalWithTransform<boolean, unknown>;
    /**
     * Template of the content.
     * @group Templates
     */
    contentTemplate: i0.Signal<TemplateRef<any> | undefined>;
    _blocked: i0.WritableSignal<boolean>;
    animationEndListener: VoidFunction | null | undefined;
    _componentStyle: BlockUiStyle;
    constructor();
    onAfterViewChecked(): void;
    onAfterViewInit(): void;
    block(): void;
    unblock(): void;
    destroyModal(): void;
    unbindAnimationEndListener(): void;
    onDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BlockUI, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BlockUI, "p-blockui, p-block-ui", never, { "target": { "alias": "target"; "required": false; "isSignal": true; }; "autoZIndex": { "alias": "autoZIndex"; "required": false; "isSignal": true; }; "baseZIndex": { "alias": "baseZIndex"; "required": false; "isSignal": true; }; "blocked": { "alias": "blocked"; "required": false; "isSignal": true; }; }, {}, ["contentTemplate"], ["*"], true, [{ directive: typeof i1.Bind; inputs: {}; outputs: {}; }]>;
}
declare class BlockUIModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<BlockUIModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<BlockUIModule, never, [typeof BlockUI, typeof i2.SharedModule], [typeof BlockUI, typeof i2.SharedModule]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<BlockUIModule>;
}

export { BlockUI, BlockUIClasses, BlockUIModule, BlockUiStyle };
export type { BlockUIStyle };
