export * from './vue-type'; type addPrefix = TKey extends string ? `${TPrefix}${TKey}` : never; type removePrefix = TPrefixedKey extends addPrefix ? TKey : ''; type prefixedValue = TObject extends { [K in removePrefix]: infer TValue } ? TValue : never; export type addPrefixToObject = { [K in addPrefix]: prefixedValue }; export type DeepPartial = T extends object ? { [P in keyof T]?: DeepPartial; } : T;