import { OnInit, OnDestroy } from '@angular/core';
import { SmzGaugeState } from './smz-gauge.types';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
/**
 * Componente Angular que exibe um Gauge (medidor) personalizado baseado nas configurações fornecidas
 * pelo estado (`SmzGaugeState`). Este componente utiliza um Gauge SVG para visualização dos valores.
 */
export declare class SmzGaugeComponent implements OnInit, OnDestroy {
    /**
     * Estado do Gauge que define todas as configurações necessárias para a exibição.
     */
    state: SmzGaugeState | null;
    /**
   * Comportamento sujeito para manter o valor atual do medidor.
   */
    throttledValue: BehaviorSubject<number>;
    /**
     * Observable que mantém o valor do medidor aplicando throttling para limitar a frequência de atualizações.
     */
    throttledValue$: import("rxjs").Observable<number>;
    /**
     * Subject usado para sinalizar a destruição do componente e cancelar assinaturas do RxJS.
     */
    private destroy$;
    /**
     * Inicializa uma nova instância do componente SmzGaugeComponent.
     */
    constructor();
    /**
     * Lifecycle hook que é chamado após a inicialização do componente.
     * Configura o comportamento do medidor com base no estado fornecido.
     */
    ngOnInit(): void;
    /**
     * Lifecycle hook que é chamado quando o componente é destruído.
     * Emite um valor para destruir o Subject e cancelar todas as assinaturas ativas.
     */
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SmzGaugeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SmzGaugeComponent, "smz-ui-gauge", never, { "state": { "alias": "state"; "required": false; }; }, {}, never, never, true, never>;
}
