import { ComponentPublicInstance, ComponentInternalInstance } from "vue";
declare type ParentProvide<T> = T & {
    link(child: ComponentInternalInstance): void;
    unlink(child: ComponentInternalInstance): void;
    children: ComponentPublicInstance[];
    internalChildren: ComponentInternalInstance[];
};
export declare function useParent<T>(key: string | symbol): {
    parent: Omit<ParentProvide<T>, "link" | "unlink" | "internalChildren">;
    index: import("vue").ComputedRef<number>;
} | {
    parent: null;
    index: import("vue").Ref<number>;
};
export {};
