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": { "alias": "pageName"; "required": false; }; "steps": { "alias": "steps"; "required": false; }; "stepIndex": { "alias": "stepIndex"; "required": false; }; "dStepsGuidePosition": { "alias": "dStepsGuidePosition"; "required": false; }; "position": { "alias": "position"; "required": false; }; "leftFix": { "alias": "leftFix"; "required": false; }; "topFix": { "alias": "topFix"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "targetElement": { "alias": "targetElement"; "required": false; }; "scrollElement": { "alias": "scrollElement"; "required": false; }; "scrollToTargetSwitch": { "alias": "scrollToTargetSwitch"; "required": false; }; "extraConfig": { "alias": "extraConfig"; "required": false; }; "observerDom": { "alias": "observerDom"; "required": false; }; "beforeChange": { "alias": "beforeChange"; "required": false; }; }, { "operateChange": "operateChange"; }, never, never, false, never>;
}
