import { PropType } from 'vue';
import { VueCSSClasses } from '../utils/types';
/**
 * This component allows for any other component or element inside it to be horizontally
 * navigable. It also implements customizable buttons as well as other minor customizations to its
 * general behavior.
 *
 * Additionally, this component exposes the following props to modify the classes of the
 * elements: `buttonClass`.
 *
 * @public
 */
declare const _default: import("vue").DefineComponent<{
    /**
     * Scroll factor that will dictate how much the scroll moves when pressing a navigation button.
     */
    scrollFactor: {
        type: NumberConstructor;
        default: number;
    };
    /** Would make the navigation buttons visible when they're needed or always hide them. */
    showButtons: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * When true, whenever the DOM content in the sliding panel slot changes, it will reset
     * the scroll position to 0.
     */
    resetOnContentChange: {
        type: BooleanConstructor;
        default: boolean;
    };
    buttonClass: {
        type: PropType<VueCSSClasses>;
    };
    scrollContainerClass: {
        type: PropType<VueCSSClasses>;
    };
}, {
    cssClasses: import("vue").ComputedRef<{
        'x-sliding-panel-at-start': boolean;
        'x-sliding-panel-at-end': boolean;
    }>;
    debouncedUpdateScroll: import("../utils/types").DebouncedFunction<[]>;
    scrollContainerRef: import("vue").Ref<HTMLDivElement | undefined>;
    scrollLeft: () => void;
    scrollRight: () => void;
    slots: Readonly<{
        [name: string]: import("vue").Slot<any> | undefined;
    }>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    /**
     * Scroll factor that will dictate how much the scroll moves when pressing a navigation button.
     */
    scrollFactor: {
        type: NumberConstructor;
        default: number;
    };
    /** Would make the navigation buttons visible when they're needed or always hide them. */
    showButtons: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * When true, whenever the DOM content in the sliding panel slot changes, it will reset
     * the scroll position to 0.
     */
    resetOnContentChange: {
        type: BooleanConstructor;
        default: boolean;
    };
    buttonClass: {
        type: PropType<VueCSSClasses>;
    };
    scrollContainerClass: {
        type: PropType<VueCSSClasses>;
    };
}>>, {
    scrollFactor: number;
    showButtons: boolean;
    resetOnContentChange: boolean;
}, {}>;
export default _default;
//# sourceMappingURL=sliding-panel.vue?vue&type=script&lang.d.ts.map