import { ElementRef, InjectionToken } from '@angular/core';
import { _XAxis, _YAxis } from '@angular/cdk/scrolling';
export declare const SMOOTH_SCROLL_OPTIONS: InjectionToken<SmoothScrollOptions>;
export declare type SmoothScrollElement = HTMLElement | ElementRef<HTMLElement> | string;
export declare type SmoothScrollToOptions = _XAxis & _YAxis & SmoothScrollOptions;
export interface SmoothScrollOptions {
    duration?: number;
    easing?: BezierEasingOptions;
}
export interface SmoothScrollStep {
    scrollable: HTMLElement;
    startTime: number;
    startX: number;
    startY: number;
    x: number;
    y: number;
    duration: number;
    easing: (k: number) => number;
    currentX?: number;
    currentY?: number;
}
export interface BezierEasingOptions {
    x1: number;
    y1: number;
    x2: number;
    y2: number;
}
