import { MaybeRefOrGetter } from 'vue';
import { KeyValue } from '../types';
import { DynamicScrollerItemControllerOptions, createDynamicScrollerItemController } from './dynamicScrollerMeasurement';
import { ScrollerOptionEnabled } from './scrollerOptions';
export interface UseDynamicScrollerItemOptions<TItem = unknown> extends DynamicScrollerItemControllerOptions<TItem>, ScrollerOptionEnabled {
    el: MaybeRefOrGetter<HTMLElement | undefined>;
    onResize?: (id: KeyValue) => void;
}
export interface UseDynamicScrollerItemLegacyOptions<TItem = unknown> extends DynamicScrollerItemControllerOptions<TItem>, ScrollerOptionEnabled {
}
export interface UseDynamicScrollerItemReturn {
    id: ReturnType<typeof createDynamicScrollerItemController>['id'];
    size: ReturnType<typeof createDynamicScrollerItemController>['size'];
    finalActive: ReturnType<typeof createDynamicScrollerItemController>['finalActive'];
    updateSize: ReturnType<typeof createDynamicScrollerItemController>['updateSize'];
}
export declare function useDynamicScrollerItem<TItem>(options: MaybeRefOrGetter<UseDynamicScrollerItemOptions<TItem>>): UseDynamicScrollerItemReturn;
export declare function useDynamicScrollerItem<TItem>(options: MaybeRefOrGetter<UseDynamicScrollerItemLegacyOptions<TItem>>, el: MaybeRefOrGetter<HTMLElement | undefined>, callbacks?: {
    onResize?: (id: KeyValue) => void;
}): UseDynamicScrollerItemReturn;
