import { Comms } from "../../comms";
import { Snapper } from "./Snapper";
import { ModuleName } from "../ModuleLibrary";
import { ReadiumWindow } from "../../helpers/dom";
import { BaseSuspiciousActivityEvent } from "../Peripherals";
export interface SuspiciousSnappingEvent extends BaseSuspiciousActivityEvent {
    type: "suspicious_snapping";
    event: null;
}
/**
 * A {Snapper} for reflowable resources using a column-based layout
 */
export declare class ColumnSnapper extends Snapper {
    static readonly moduleName: ModuleName;
    private isSnapProtectionEnabled;
    private resizeObserver;
    private mutationObserver;
    private patternAnalyzer;
    private lastTurnTime;
    private wnd;
    private comms;
    private doc;
    private scrollOffset;
    snapOffset(offset: number): number;
    reportProgress(): void;
    private shakeTimeout;
    shake(): void;
    private snappingCancelled;
    private alreadyScrollLeft;
    private overscroll;
    private cachedScrollWidth;
    private takeOverSnap;
    snapCurrentOffset(smooth?: boolean, noprogress?: boolean): void;
    private touchState;
    private startingX;
    private endingX;
    private dragOffset;
    private clearTouches;
    onTouchStart(e: TouchEvent): void;
    private readonly onTouchStarter;
    onTouchEnd(_: TouchEvent): void;
    private readonly onTouchEnder;
    private onWidthChange;
    private readonly onWidthChanger;
    onTouchMove(e: TouchEvent): void;
    private readonly onTouchMover;
    private enableSnapProtection;
    private checkSuspiciousSnap;
    mount(wnd: ReadiumWindow, comms: Comms): boolean;
    unmount(wnd: ReadiumWindow, comms: Comms): boolean;
}
