import { ESLCarouselPlugin } from '../esl-carousel.plugin';
import { ESLCarouselSlideEvent } from '../../core/esl-carousel.events';
export interface ESLCarouselClassBehaviourConfig {
    mode?: 'default' | 'proactive';
}
/**
 * Plugin for {@link ESLCarousel} that allows to control the `container-class` feature behavior.
 *
 * Supports two modes:
 * - `default`: do not change default behavior - adds/removes classes on the container element after slides have changed
 * - `proactive`: adds/removes classes on the container element proactively as soon as change starts
 */
export declare class ESLCarouselClassBehaviourMixin extends ESLCarouselPlugin<ESLCarouselClassBehaviourConfig> {
    static is: string;
    static DEFAULT_CONFIG: ESLCarouselClassBehaviourConfig;
    static DEFAULT_CONFIG_KEY: keyof ESLCarouselClassBehaviourConfig;
    protected onConfigChange(): void;
    /** Resolves the container classes from given slide element */
    protected getClasses($slide: HTMLElement): string | undefined;
    protected onSlideChange({ $slidesBefore, $slidesAfter }: ESLCarouselSlideEvent): void;
}
