import type { ComponentPublicInstance, InjectionKey, Ref } from 'vue'; import type { LocaleInstance, RtlInstance } from './locale.js'; import type { EasingFunction } from '../util/index.js'; export interface GoToInstance { rtl: Ref; options: InternalGoToOptions; } export interface InternalGoToOptions { container: ComponentPublicInstance | HTMLElement | string; duration: number; layout: boolean; offset: number; easing: string | EasingFunction; patterns: Record; } export type GoToOptions = Partial; export declare const GoToSymbol: InjectionKey; export declare function createGoTo(options: GoToOptions | undefined, locale: LocaleInstance & RtlInstance): GoToInstance; export declare function scrollTo(_target: ComponentPublicInstance | HTMLElement | number | string, _options: GoToOptions, horizontal?: boolean, goTo?: GoToInstance): Promise; export declare function useGoTo(_options?: GoToOptions): { (target: ComponentPublicInstance | HTMLElement | string | number, options?: Partial): Promise; horizontal: (target: ComponentPublicInstance | HTMLElement | string | number, options?: Partial) => Promise; };