import { GestureModel, GestureProps, Gesture } from './gesture';
import { LabeledRequestHandler } from '../../skill';
import { Command, CommandModel, CommandProps } from '../commands';
import { APLComponent, APLBaseComponentModel, APLBaseComponentProps } from '../components';
import { SwipeAction, SwipeDirection } from '../interfaces';
/**
 * This interface was referenced by `AplSchema`'s JSON-Schema
 * via the `definition` "SwipeAway".
 */
export interface SwipeAwayGestureModel extends SwipeAwayGestureProps, GestureModel {
}
/**
 * This interface was referenced by `AplSchema`'s JSON-Schema
 * via the `definition` "SwipeAway".
 */
export interface SwipeAwayGestureProps extends GestureProps {
    /**
     * How the original and child component will be displayed
     */
    action?: SwipeAction;
    /**
     * Swipe direction
     */
    direction: SwipeDirection;
    /**
     * Child item to display during the swipe gesture
     */
    item?: APLComponent<APLBaseComponentModel, APLBaseComponentProps>[];
    /**
     * Commands to execute as the swipe position changes
     */
    onSwipeMove?: Command<CommandModel, CommandProps>[];
    /**
     * Commands to execute when the swipe is complete
     */
    onSwipeDone?: Command<CommandModel, CommandProps>[];
}
export declare class SwipeAwayGesture extends Gesture<SwipeAwayGestureModel, SwipeAwayGestureProps> {
    constructor(props: SwipeAwayGestureProps);
    componentSpecificModel(): SwipeAwayGestureModel;
    componentSpecificRequestHandlers(): LabeledRequestHandler[];
}
