import type { PropType, ExtractPropTypes, Ref, StyleValue } from 'vue';
import type { Arrayable } from '../../_utils/types';
export declare const _props: {
    direction: {
        type: PropType<"vertical" | "horizontal">;
        default: string;
        validator: (val: string) => boolean;
    };
    defaultValue: {
        type: PropType<string | number>;
        default: string;
        validator: (val: string | number) => boolean;
    };
    uniqueKey: {
        type: PropType<string>;
    };
    class: {
        type: PropType<string | Arrayable<Record<string, boolean>>>;
    };
    style: {
        type: PropType<StyleValue>;
    };
};
export declare const _paneProps: {
    offset: {
        type: PropType<string | number>;
    };
    min: {
        type: PropType<string | number>;
        validator: (val: string | number) => boolean;
    };
    class: {
        type: PropType<string | Arrayable<Record<string, boolean>>>;
    };
    style: {
        type: PropType<StyleValue>;
    };
};
export declare const _emits: {
    drag: (value: number | string) => boolean;
    dragStart: (value: number | string) => boolean;
    dragEnd: (value: number | string) => boolean;
};
export type SplitInject = {
    splitRef: Ref<HTMLElement | null>;
    dragging: Ref<boolean>;
    direction: 'horizontal' | 'vertical';
};
export type SplitProps = ExtractPropTypes<typeof _props>;
export type SplitPaneProps = ExtractPropTypes<typeof _paneProps>;
export type SplitEmits = typeof _emits;
