import '//resources/cr_elements/cr_button/cr_button.js';
import '//resources/cr_elements/cr_icon_button/cr_icon_button.js';
import '//resources/cr_elements/icons.html.js';
import '/strings.m.js';
import { CrLitElement } from '//resources/lit/v3_0/lit.rollup.js';
import type { PropertyValues } from '//resources/lit/v3_0/lit.rollup.js';
import type { ReloadControlState } from './browser_proxy.js';
import { TimerHelper } from './timer_helper.js';
import { PressHandler } from './toolbar_button.js';
declare const ReloadButtonElementBase: typeof CrLitElement & (new (...args: any[]) => import("//resources/cr_components/help_bubble/help_bubble_mixin_lit.js").HelpBubbleMixinLitInterface) & (new (...args: any[]) => import("./toolbar_button.js").HelpBubbleAnchor);
export declare class ReloadButtonElement extends ReloadButtonElementBase {
    static get is(): string;
    static get styles(): import("//resources/lit/v3_0/lit.rollup.js").CSSResultGroup;
    render(): import("//resources/lit/v3_0/lit.rollup.js").TemplateResult<1>;
    static get properties(): {
        accName_: {
            type: StringConstructor;
        };
        state: {
            type: ObjectConstructor;
        };
        tooltip: {
            type: StringConstructor;
            reflect: boolean;
        };
        showStopIcon: {
            type: BooleanConstructor;
            reflect: boolean;
        };
        isDisabled: {
            type: BooleanConstructor;
            reflect: boolean;
        };
        touchUi: {
            type: BooleanConstructor;
        };
    };
    protected accessor state: ReloadControlState;
    protected accessor tooltip: string;
    protected accessor accName_: string;
    protected pressHandler_: PressHandler;
    protected accessor showStopIcon: boolean;
    protected accessor isDisabled: boolean;
    accessor touchUi: boolean;
    protected doubleClickReloadIconTimer_: TimerHelper;
    protected modeSwitchIntervalMs_: number;
    private disableStopIconTimer_;
    private browserProxy_;
    private metricsRecorder_;
    constructor();
    private onLongPress_;
    private onShortPress_;
    /**
     * Constructs the interaction metadata from the mouse/pointer event.
     * Reconstructs the relative timestamp offset and determines the input
     * modality.
     */
    private getReloadMetadata_;
    protected onClick_(e: MouseEvent): void;
    private updateState_;
    /**
     * Sets up event listeners and the PerformanceObserver when the element is
     * added to the DOM.
     */
    connectedCallback(): void;
    /**
     * Cleans up event listeners and the PerformanceObserver when the element is
     * removed from the DOM.
     */
    disconnectedCallback(): void;
    willUpdate(changedProperties: PropertyValues<this>): void;
    private updateTooltip_;
    protected getIronIcon_(): string;
    /**
     * See `onPointerup_` for the click event handling logic.
     * @param e the PointerEvent associated with the click.
     * @returns
     */
    protected onPointerdown_(e: PointerEvent): void;
    /**
     * Handles pointer release. Records metrics and delegates to PressHandler
     * to evaluate whether the interaction was a short or long press.
     * If it's from the right mouse click, it's not handled from the Javascript.
     * @param e the PointerEvent associated with the click.
     * @returns
     */
    protected onPointerup_(e: PointerEvent): void;
}
declare global {
    interface HTMLElementTagNameMap {
        'reload-button': ReloadButtonElement;
    }
}
export {};
