import { ESLCarousel } from '../../core/esl-carousel';
import { ESLCarouselPlugin } from '../esl-carousel.plugin';
import { ESLCarouselSlideEvent } from '../../core/esl-carousel.events';
export interface ESLCarouselRelateToConfig {
    /** Target carousel selector */
    target: string;
    /** Proactive mode to relate to the target immediately */
    proactive: boolean;
}
/**
 * Slide Carousel Link plugin mixin to bind carousel positions
 */
export declare class ESLCarouselRelateToMixin extends ESLCarouselPlugin<ESLCarouselRelateToConfig> {
    static is: string;
    static DEFAULT_CONFIG_KEY: string;
    protected get event(): string;
    /** @returns ESLCarousel target to share state changes */
    get $target(): ESLCarousel | null;
    protected onConfigChange(): void;
    /** Handles event that fires when the carousel slides state is changed. */
    protected _onSlideChange(e: ESLCarouselSlideEvent): void;
}
declare global {
    export interface ESLCarouselNS {
        RelateTo: typeof ESLCarouselRelateToMixin;
    }
}
