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. Set to '' or 'none' to disable */
    target: string;
    /** A 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: ESLCarouselRelateToConfig;
    static DEFAULT_CONFIG_KEY: string;
    /** @returns event name(s) to listen for carousel state changes */
    protected get event(): string;
    /** @returns ESLCarousel target to share state changes */
    get $target(): ESLCarousel | null;
    protected onInit(): void;
    protected onConfigChange(): void;
    /** Handles event that fires when the target carousel slides state is changed. */
    protected _onSlideChange(e: ESLCarouselSlideEvent): void;
}
declare global {
    export interface ESLCarouselNS {
        RelateTo: typeof ESLCarouselRelateToMixin;
    }
}
