import { noop } from '../../../utils';
import { PropType } from 'vue';
declare const axisValues: readonly ["both", "horizontal", "vertical"];
type TAxis = typeof axisValues[number];
export type TScrollObserver = {
    position: {
        top: number;
        left: number;
    };
    direction: 'up' | 'down' | 'left' | 'right';
    directionChanged: boolean;
    delta: {
        top: number;
        left: number;
    };
    inflectionPoint: {
        top: number;
        left: number;
    };
};
export declare const LayoutScrollObserver: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    axis: {
        type: PropType<TAxis>;
        validator: (value: TAxis) => boolean;
    };
    debounce: {
        type: PropType<string | number>;
        default: undefined;
    };
    scrollTarget: {
        type: PropType<string | HTMLElement>;
        default: undefined;
    };
}>, typeof noop, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    scroll: (data: TScrollObserver) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    axis: {
        type: PropType<TAxis>;
        validator: (value: TAxis) => boolean;
    };
    debounce: {
        type: PropType<string | number>;
        default: undefined;
    };
    scrollTarget: {
        type: PropType<string | HTMLElement>;
        default: undefined;
    };
}>> & Readonly<{
    onScroll?: ((data: TScrollObserver) => any) | undefined;
}>, {
    debounce: string | number;
    scrollTarget: string | HTMLElement;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export {};
