import { AfterContentInit, ElementRef, EventEmitter, QueryList } from '@angular/core';
import { CarouselItemDirective } from './carousel-item.directive';
import { CarouselConfig, CarouselService, PanEndOutput } from './carousel.service';
import * as i0 from "@angular/core";
export declare class CarouselDirective implements AfterContentInit {
    private readonly _elementRef;
    private readonly _carouselService;
    /** Configuration for carousel */
    config: CarouselConfig;
    /** Initial active item of carousel, position first + offset */
    active: CarouselItemDirective;
    /** @hidden */
    get carouselService(): CarouselService;
    /** Event thrown, when active element is changed */
    readonly activeChange: EventEmitter<PanEndOutput>;
    /** Event thrown when element is dragged. Emits "true" when drag starts and "false" when drag ends. */
    readonly dragStateChange: EventEmitter<boolean>;
    /** @hidden */
    items: QueryList<CarouselItemDirective>;
    /** @hidden */
    constructor(_elementRef: ElementRef, _carouselService: CarouselService);
    /** @hidden */
    ngAfterContentInit(): void;
    /** Change active element */
    goToItem(item: CarouselItemDirective, smooth?: boolean): void;
    /** Pick previous carousel item */
    pickPrevious(): void;
    /** Pick next carousel item */
    pickNext(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CarouselDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<CarouselDirective, "[fdCarousel]", never, { "config": { "alias": "config"; "required": false; }; "active": { "alias": "active"; "required": false; }; }, { "activeChange": "activeChange"; "dragStateChange": "dragStateChange"; }, ["items"], never, true, never>;
}
