import { AfterViewInit, OnDestroy } from '@angular/core';
import { LoadingStateIndicators } from './components/loading-state-indicators';
import { ProgressBarIndicatorMode } from './components/progress-bar-indicator/progress-bar-indicator.component';
import * as i0 from "@angular/core";
/**
 * @description Diretiva estrutural que envolve o conteúdo da view com um indicador de carregamento.
 * É uma alternativa inline ao `LoadingStateComponent`, podendo ser aplicada diretamente
 * em containers existentes sem a necessidade de criar um wrapper explícito no template.
 *
 * @example
 * ```html
 * <!-- Forma simples (boolean) -->
 * <div *sLoadingState="isLoading">Conteúdo</div>
 *
 * <!-- Forma com configuração -->
 * <div *sLoadingState="{ loading: isLoading, indicator: 'logo' }">Conteúdo</div>
 * ```
 *
 * @category Feedback
 */
export declare class LoadingStateDirective implements AfterViewInit, OnDestroy {
    private readonly target;
    private readonly template;
    private readonly componentFactoryResolver;
    private readonly cdr;
    /**
     * @description Controla o estado de carregamento da diretiva.
     * Aceita:
     * - `boolean`: ativa/desativa o carregamento com o indicador padrão (`dots`).
     * - objeto de configuração: permite definir indicador, modo e valor da barra de progresso.
     */
    set sLoadingState(value: boolean | {
        loading: boolean;
        indicator?: LoadingStateIndicators;
        progressBarMode?: ProgressBarIndicatorMode;
        progressBarValue?: number;
        progressBarLabel?: string;
    });
    private _loading;
    private indicator;
    private progressBarMode;
    private progressBarValue;
    private progressBarLabel?;
    private loaderComponent;
    ngAfterViewInit(): void;
    private createComponent;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LoadingStateDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LoadingStateDirective, "[sLoadingState]", never, { "sLoadingState": { "alias": "sLoadingState"; "required": false; }; }, {}, never, never, false, never>;
}
