import { HighlightOptionsWithDefaultValues, ComputedPlacement, IForeignViewContext, ITourDelegate, NoElement, PopoverOptionsWithDefaultValues, Rect, Step, ThemeOptions, TourOptions } from '@thisway/base'; import { Size } from '@thisway/utils'; import { Readable, Writable } from 'svelte/store'; import { HighlightRect } from './overlay.utils'; import { Tour } from './tour'; export type ContextType = symbol & { readonly phantomData: T; }; export declare function defineContext(name: string): ContextType; export declare function getContext(context: ContextType): T; export declare function setContext(context: ContextType, value: T): void; export interface ITourContexts extends Map { readonly contextsBrand: unique symbol; get(context: ContextType): T | undefined; set(context: ContextType, value: T): this; } export declare const createContexts: (parentContext?: ITourContexts) => ITourContexts; export declare const TourContext: ContextType>; export declare const OptionsContext: ContextType>; export declare const ElementBoundingContext: ContextType>; export declare const PopoverContainerContext: ContextType>; export declare const PopoverSizeContext: ContextType>; export declare const TotalStepCountContext: ContextType>; export declare const PlacementContext: ContextType>; export declare const DelegateContext: ContextType>; export declare const ForeignViewContext: ContextType; export declare const HighlightBoundingContext: ContextType>; export interface RenderState { element: Element | NoElement | undefined; step: Step | undefined; } export declare const RenderStateContext: ContextType>; export interface IStepOptionsContext { popover: Readable; highlight: Readable; theme: Readable>; } export declare const StepOptionsContext: ContextType;