import { ESLMixinElement } from '../../../esl-mixin-element/core';
import { ESLCarouselAutoplayEvent } from './esl-carousel.autoplay.event';
/**
 * A mixin (custom attribute) element that manages the progress animation for the autoplay functionality
 * of an ESL Carousel. It listens for `ESLCarouselAutoplayEvent` events and updates
 * the animation state and autoplay status accordingly.
 * Uses three markers to represent the autoplay progress:
 * - `animate` attribute - appears on each cycle of active autoplay;
 * drops one frame before the next cycle to activate CSS animation
 * - `autoplay-enabled` attribute - indicates whether the autoplay plugin is enabled
 * - `--esl-autoplay-timeout` CSS variable - indicates the current autoplay cycle duration
 */
export declare class ESLCarouselAutoplayProgressMixin extends ESLMixinElement {
    static is: string;
    /**
     * {@link ESLTraversingQuery} string to find {@link ESLCarousel} instance with autoplay plugin.
     * Searching for the carousel in bounds of the `.esl-carousel-nav-container` element by default.
     */
    carousel: string;
    /** Attribute to start animation representing autoplay cycle */
    animate: boolean;
    /** Autoplay enabled status marker attribute */
    autoplayEnabled: boolean;
    protected attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
    protected _onChange(e: ESLCarouselAutoplayEvent): void;
}
