import { AfterViewInit, ElementRef, OnChanges, OnDestroy, SimpleChanges, TemplateRef } from '@angular/core';
import Swiper from 'swiper';
import { SwipeCarouselMetadata } from './types';
import * as i0 from "@angular/core";
/**
 * val-swipe-carousel
 *
 * A powerful carousel component built on Swiper with multiple transition effects,
 * navigation, pagination, and responsive breakpoints.
 *
 * @example
 * <val-swipe-carousel
 *   [items]="slides"
 *   [itemTemplate]="slideTemplate"
 *   [props]="{ effect: 'coverflow', pagination: true }"
 * ></val-swipe-carousel>
 *
 * <ng-template #slideTemplate let-item>
 *   <div class="slide-content">{{ item.title }}</div>
 * </ng-template>
 *
 * @input items - Array of items to render as slides
 * @input itemTemplate - Template reference for rendering each slide
 * @input props - Configuration options (effect, pagination, navigation, etc.)
 */
export declare class SwipeCarouselComponent<T = any> implements AfterViewInit, OnChanges, OnDestroy {
    /**
     * Array of items to render as slides.
     */
    items: T[];
    /**
     * Template reference for rendering each slide.
     * The template receives the item as implicit context and index as 'index'.
     */
    itemTemplate: TemplateRef<any>;
    /**
     * Configuration options for the carousel.
     */
    props?: SwipeCarouselMetadata;
    swiperContainer: ElementRef;
    private swiper?;
    private defaultOptions;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private initSwiper;
    private destroySwiper;
    /**
     * Navigate to previous slide.
     */
    slidePrev(): void;
    /**
     * Navigate to next slide.
     */
    slideNext(): void;
    /**
     * Navigate to specific slide by index.
     */
    slideTo(index: number): void;
    /**
     * Get the Swiper instance for advanced control.
     */
    getSwiperInstance(): Swiper | undefined;
    static ɵfac: i0.ɵɵFactoryDeclaration<SwipeCarouselComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SwipeCarouselComponent<any>, "val-swipe-carousel", never, { "items": { "alias": "items"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "props": { "alias": "props"; "required": false; }; }, {}, never, never, true, never>;
}
