import { ComponentFactoryResolver, ComponentRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { OverlayContainerRef } from 'ng-devui/overlay-container';
import { Observable, Subscription } from 'rxjs';
import { StepsGuideComponent } from './steps-guide.component';
import { StepsGuideService } from './steps-guide.service';
import { ExtraConfig, GuideOptions, OperateResponse, StepItem, StepsGuidePositionType } from './steps-guide.types';
import * as i0 from "@angular/core";
export declare class StepsGuideDirective implements OnInit, OnDestroy {
    private stepService;
    private elm;
    private componentFactoryResolver;
    private overlayContainerRef;
    private doc;
    pageName: string;
    steps: Array<StepItem>;
    stepIndex: number;
    _dStepsGuidePosition: StepsGuidePositionType;
    set dStepsGuidePosition(pos: StepsGuidePositionType);
    get dStepsGuidePosition(): StepsGuidePositionType;
    /**
     * @deprecated Use dStepsGuidePosition to replace.
     */
    set position(pos: StepsGuidePositionType);
    leftFix: number;
    topFix: number;
    zIndex: number;
    targetElement: any;
    scrollElement: any;
    scrollToTargetSwitch: boolean;
    extraConfig: ExtraConfig;
    set observerDom(dom: HTMLElement);
    beforeChange: (currentIndex: any, targetIndex: any) => boolean | Promise<boolean> | Observable<boolean>;
    operateChange: EventEmitter<OperateResponse>;
    _observerDom: any;
    stepRef: ComponentRef<StepsGuideComponent>;
    observer: any;
    toggle: any;
    currentIndex: number;
    sub: Subscription;
    MUTATION_OBSERVER_CONFIG: {
        attributes: boolean;
        subtree: boolean;
    };
    MUTATION_OBSERVER_TIME: number;
    document: Document;
    constructor(stepService: StepsGuideService, elm: ElementRef, componentFactoryResolver: ComponentFactoryResolver, overlayContainerRef: OverlayContainerRef, doc: any);
    ngOnInit(): void;
    ngOnDestroy(): void;
    destroyView(): void;
    insert(option: GuideOptions): void;
    mutationCallBack: () => void;
    destroyMutationObserver(destroyAll?: boolean): void;
    canChange(index: any): Promise<boolean>;
    static ɵfac: i0.ɵɵFactoryDeclaration<StepsGuideDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<StepsGuideDirective, "[dStepsGuide]", never, { "pageName": "pageName"; "steps": "steps"; "stepIndex": "stepIndex"; "dStepsGuidePosition": "dStepsGuidePosition"; "position": "position"; "leftFix": "leftFix"; "topFix": "topFix"; "zIndex": "zIndex"; "targetElement": "targetElement"; "scrollElement": "scrollElement"; "scrollToTargetSwitch": "scrollToTargetSwitch"; "extraConfig": "extraConfig"; "observerDom": "observerDom"; "beforeChange": "beforeChange"; }, { "operateChange": "operateChange"; }, never, never, false>;
}
