/**
 * Copyright Aquera Inc 2025
 *
 * This source code is licensed under the BSD-3-Clause license found in the
 * LICENSE file in the root directory of this source tree.
 */
import '../nile-icon';
import '../nile-button';
import './nile-carousel-item/nile-carousel-item';
import { CSSResultArray, TemplateResult } from 'lit';
import NileElement from '../internal/nile-element';
import type { PropertyValueMap } from 'lit';
export declare class NileCarousel extends NileElement {
    static styles: CSSResultArray;
    navigation: boolean;
    pagination: boolean;
    loop: boolean;
    navigationPosition: 'sides' | 'top-right';
    slidesPerPage: number;
    slidesPerMove: number;
    scrollContainer: HTMLElement;
    paginationContainer: HTMLElement;
    activeSlide: number;
    scrolling: boolean;
    private mutationObserver;
    private pendingSlideChange;
    connectedCallback(): void;
    disconnectedCallback(): void;
    protected firstUpdated(): void;
    protected willUpdate(changedProperties: PropertyValueMap<NileCarousel> | Map<PropertyKey, unknown>): void;
    private getPageCount;
    private getCurrentPage;
    private canScrollNext;
    private canScrollPrev;
    private getSlides;
    private handleKeyDown;
    private handleScroll;
    private handleScrollEnd;
    private handleSlotChange;
    private initializeSlides;
    handleSlideChange(): void;
    updateSlidesSnap(): void;
    previous(behavior?: ScrollBehavior): void;
    next(behavior?: ScrollBehavior): void;
    goToSlide(index: number, behavior?: ScrollBehavior): void;
    private renderNavigationButton;
    private renderScrollContainer;
    private renderPaginationItem;
    private renderPagination;
    render(): TemplateResult<1>;
}
export default NileCarousel;
declare global {
    interface HTMLElementTagNameMap {
        'nile-carousel': NileCarousel;
    }
}
