import { EventEmitter } from "../../../stencil-public-runtime";
export declare class GxIdeProgressBar {
    el: HTMLGxIdeProgressBarElement;
    /**
     * If true it will display the caption
     */
    topStateBarVisible: boolean;
    /**
     * If true the progress will be updated instantly, without transition. This is required when the host user is calling the "reset" method.
     */
    disableTransition: boolean;
    /**
     * If true it will display bar
     */
    visible: boolean;
    /**
     * The top-bar title
     */
    readonly caption: string;
    /**
     * It will only display the bar (no title, no close button)
     */
    readonly minimal: boolean;
    /**
     * The top-bar active state. If false it will be hidden
     */
    active: boolean;
    watchActiveHandler(active: boolean): void;
    /**
     * The top-bar state
     */
    stateType: TopStateBarType;
    /**
     * The progress bar progress
     */
    progress: number;
    watchProgressHandler(progress: number): void;
    /**
     * How to display the close button
     */
    readonly closeType: "auto-close" | "button";
    /**
     * A callback that gets called when the top-state-bar is closed
     */
    readonly closedCallback: () => void;
    /**
     * Emitted every time the progress bar is closed.
     */
    progressBarClosed: EventEmitter;
    componentWillLoad(): void;
    /**
     * Sets the progress bar to zero instantly (no transition) and changes the type
     * to 'accent'. Useful when reusing the progress bar for a new process.
     */
    reset(): Promise<void>;
    private evaluateInitialProgress;
    private closeClickHandler;
    private renderClose;
    render(): any;
}
export type TopStateBarType = "accent" | "success" | "warning" | "error" | "in-progress";
