import { UrlSegment, Router } from "@angular/router"; import { Subject, Observable } from "rxjs/Rx"; import { BmTourAnchorDirective } from "../bm-tour-anchor.directive"; export interface IStepOption { stepId?: string; spacing?: number; anchorId?: string; nextStepCallback?: any; callbackRef?: any; title?: string; content?: string; route?: string | UrlSegment[]; showPrev?: boolean; showNext?: boolean; showCursor?: boolean; showFinish?: boolean; nextStep?: number | string; prevStep?: number | string; placement?: 'above' | 'top' | 'bottom' | 'below' | 'after' | 'before' | 'left' | 'right'; preventScrolling?: boolean; alignment?: string; showCaret?: boolean; } export declare enum TourState { OFF = 0, ON = 1, PAUSED = 2, } export declare class BmTourService { private router; stepShow$: Subject; stepHide$: Subject; initialize$: Subject; initiateStep$: Subject; start$: Subject; end$: Subject; pause$: Subject; resume$: Subject; anchorRegister$: Subject; anchorUnregister$: Subject; events$: Observable<{ name: string; value: any; }>; steps: IStepOption[]; currentStep: IStepOption; anchors: { [anchorId: string]: BmTourAnchorDirective; }; status: TourState; constructor(router: Router); initialize(steps: IStepOption[], stepDefaults?: IStepOption): void; start(): void; startAt(stepId: number | string): void; end(): void; pause(): void; resume(): void; toggle(pause?: boolean): void; next(): void; hasNext(step: IStepOption): boolean; prev(): void; hasPrev(step: IStepOption): boolean; goto(stepId: number | string): void; register(anchorId: string, anchor: any): void; unregister(anchorId: string): void; /** * Configures hot keys for controlling the tour with the keyboard */ private goToStep(step); private loadStep(stepId); private setCurrentStep(step); showStep(step: IStepOption): void; hideStep(step: IStepOption): void; }