import { IEventEmitter } from '@breadstone/mosaik-elements';
import { CustomElement } from '../../Abstracts/CustomElement';
import { ISwipeLeftPannedEvent, ISwipeLeftPannedEventDetail } from './Events/ISwipeLeftPannedEventDetail';
import { ISwipeRightPannedEvent, ISwipeRightPannedEventDetail } from './Events/ISwipeRightPannedEventDetail';
import { ISwipeElementProps } from './ISwipeElementProps';
declare const SwipeElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Swipe - A gesture-based interaction for move content by swiping.
 *
 * @description
 * The Swipe component enables users to navigate through content by swiping left or right on a touch-enabled device or using mouse gestures. It is commonly used in carousel sliders, image galleries, and other interfaces where sequential or paginated navigation is required. Swiping gestures allow for intuitive and fluid interaction, enhancing the user experience.
 *
 * @category Primitives
 *
 * @element mosaik-swipe
 *
 * @slot before - The before swipe slot.
 * @slot after - The after swipe slot.
 * @slot - The default content slot.
 *
 * @example
 * ```html
 * <mosaik-swipe>
 *   <!-- content to be swiped -->
 * </mosaik-swipe>
 * ```
 *
 * @public
 */
export declare class SwipeElement extends SwipeElement_base implements ISwipeElementProps {
    private _beforePanningContainerElement;
    private _afterPanningContainerElement;
    private _contentContainerElement;
    private readonly _panController;
    private _panEndTriggeringThreshold;
    private _panLeftDisabled;
    private _panRightDisabled;
    private readonly _leftPanned;
    private readonly _rightPanned;
    private _panOffset;
    private _panState;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `{@link is}` property.
     * The `{@link is}` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Gets or sets the `panEndTriggeringThreshold` property.
     *
     * @public
     * @attr
     */
    get panEndTriggeringThreshold(): number;
    set panEndTriggeringThreshold(value: number);
    /**
     * Gets or sets the `panLeftDisabled` property.
     *
     * @public
     * @attr
     */
    get panLeftDisabled(): boolean;
    set panLeftDisabled(value: boolean);
    /**
     * Gets or sets the `panRightDisabled` property.
     *
     * @public
     * @attr
     */
    get panRightDisabled(): boolean;
    set panRightDisabled(value: boolean);
    /**
     * Called when the left swipe gesture is detected.
     * Provides reference to `{@link ISwipeLeftPannedEventDetail}` as event detail.
     *
     * @public
     * @readonly
     * @eventProperty
     */
    get leftPanned(): IEventEmitter<ISwipeLeftPannedEventDetail>;
    /**
     * Called when the right swipe gesture is detected.
     * Provides reference to `{@link ISwipeRightPannedEventDetail}` as event detail.
     *
     * @public
     * @readonly
     * @eventProperty
     */
    get rightPanned(): IEventEmitter<ISwipeRightPannedEventDetail>;
    /**
     * @public
     */
    panLeft(): void;
    /**
     * @public
     */
    panRight(): void;
    protected onApplyTemplate(): void;
    /**
     * @protected
     */
    protected onPanStart(_event: Event): void;
    /**
     * @protected
     */
    protected onPanMove(event: CustomEvent): void;
    /**
     * @protected
     */
    protected onPanEnd(_event: Event): void;
    /**
     * @private
     */
    private setContentElementTransform;
}
/**
 * @public
 */
export declare namespace SwipeElement {
    type Props = ISwipeElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-swipe': SwipeElement;
    }
    interface HTMLElementEventMap {
        leftPanned: ISwipeLeftPannedEvent;
        rightPanned: ISwipeRightPannedEvent;
    }
}
export {};
//# sourceMappingURL=SwipeElement.d.ts.map