import type { GoToOptions, SliderConfig, SliderEvent, SliderEventData, SliderInstance } from "./types.js";
export declare const SLIDE_INDEX_ATTR = "data-aero-slider-index";
export declare const CLONE_ATTR = "data-aero-slider-clone";
/** What the UI features (nav, dots, keyboard, autoplay) need from the core. */
export interface SliderCore {
    container: HTMLElement;
    track: HTMLElement;
    config: Required<SliderConfig>;
    signal: AbortSignal;
    reducedMotion: MediaQueryList;
    /** A scrollDuration animation is in flight. */
    easing(): boolean;
    current(): number;
    maxIndex(): number;
    pageCount(): number;
    loop(): boolean;
    next(): void;
    prev(): void;
    goTo(index: number, options?: GoToOptions): void;
    emit<E extends SliderEvent>(event: E, data: SliderEventData<E>): void;
    isVertical(): boolean;
    isRtl(): boolean;
    position(): number;
    maxScroll(): number;
    jumpTo(position: number): void;
    /** One full lap of real slides: where its teleport-safe band starts, and its length. */
    cycle(): {
        start: number;
        width: number;
    } | null;
}
export declare function createSlider(container: HTMLElement, userConfig?: SliderConfig): SliderInstance;
