import type { ESLCarousel } from './esl-carousel';
import type { ESLCarouselDirection } from './esl-carousel.types';
/** Base interface for all {@link ESLCarousel} action events */
export interface ESLCarouselActionEventBaseInit {
    /** A list of indexes of slides that were active before the change */
    indexesBefore: number[];
    /** A list of indexes of slides that are active after the change */
    indexesAfter: number[];
    /** Whether the slide change is final (leads to actual active slide change) */
    final?: boolean;
    /** Auxiliary request attribute that represents object that initiates slide change */
    activator?: any;
}
/** Abstract base class for all {@link ESLCarousel} action events */
export declare abstract class ESLCarouselActionEvent extends Event implements ESLCarouselActionEventBaseInit {
    readonly target: ESLCarousel;
    readonly indexesBefore: number[];
    readonly indexesAfter: number[];
    readonly direction: ESLCarouselDirection;
    readonly final: boolean;
    readonly activator?: any;
    /** @returns first index of before sate */
    get indexBefore(): number;
    /** @returns first index of after state */
    get indexAfter(): number;
    /** @returns list of slides that are active before the change */
    get $slidesBefore(): HTMLElement[];
    /** @returns list of slides that are active after the change */
    get $slidesAfter(): HTMLElement[];
}
