import { ResizeObserverEntry } from '@vueuse/core';
import { Layout } from './types';
/**
 * @description 虚拟列表子项组件——封装 ResizeObserver 监听，
 *              不定高模式下向父组件 emit resize 事件以触发 meta 重算；
 *              定高/按索引定高模式下 observeResize 为 false，回调触发但不 emit，
 *              同时 useResizeObserver 自动随组件卸载清理，无需手动 unobserve。
 */
type __VLS_Props = {
    /** 列表项索引 */
    index: number;
    /** 项主轴尺寸（定高/按索引定高模式传入 px 值；不定高模式不传） */
    mainSize?: number;
    /** 布局方向，决定尺寸写入 width 还是 height */
    layout?: Layout;
    /** 是否向父组件 emit resize 事件（仅不定高模式为 true） */
    observeResize?: boolean;
};
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        default?(_: {}): any;
    };
    refs: {
        itemRef: HTMLDivElement;
    };
    rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    resize: (entry: ResizeObserverEntry, index: number) => any;
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
    onResize?: ((entry: ResizeObserverEntry, index: number) => any) | undefined;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    itemRef: HTMLDivElement;
}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
