import { Observable } from 'rxjs';
import { NgProgressConfig, ProgressConfig, ProgressState } from './ng-progress.interface';
export declare class NgProgressRef {
    private _onDestroyCallback;
    private readonly _state;
    state: Observable<ProgressState>;
    private readonly _config;
    config: Observable<ProgressConfig>;
    private readonly _started;
    readonly started: Observable<void>;
    private readonly _completed;
    readonly completed: Observable<void>;
    private readonly _trickling;
    private readonly _worker;
    private get snapshot();
    get isStarted(): boolean;
    constructor(customConfig: ProgressConfig, _onDestroyCallback: () => void);
    /**
     * Start the progress
     */
    start(): void;
    /**
     * Complete the progress
     */
    complete(): void;
    /**
     * Increment the progress
     */
    inc(amount?: number): void;
    /**
     * Set the progress
     */
    set(n: number): void;
    /**
     * Set config
     */
    setConfig(config: NgProgressConfig): void;
    /**
     * Destroy progress reference
     */
    destroy(): void;
    /**
     * Set progress state
     */
    private setState;
    /**
     * Clamps a value to be between min and max
     */
    private clamp;
    /**
     * Keeps incrementing the progress
     */
    private onTrickling;
    /**
     * Completes then resets the progress
     */
    private onComplete;
}
