Сначала надо чтобы компонент помимо своих типов наследовал типы дочернего компонента, тут понятно - либо extends, либо через пересечение типов или любой другой способ.
interface MyModalProps extends LibModalProps {
isOpen: boolean;
}
Поскольку у родительского компонента будут и свои пропсы и дочернего, нужно их разделить и делегировать дочернему только его пропсы, сделать это можно разными способами, например в computed
const delegatedProps = computed(() => {
// перечисляем пропсы родителя, остальные достаем через spread
const { isOpen, ...libModalProps } = props;
return libModalProps;
});
и передаем все пропсы в дочерний компонент
<LibModal v-bind="delegatedProps">
...
</LibModal>
Еще вариант использовать
reactiveOmit
пример
пример с reactiveOmit из shadcn-ui