//#region src/utils/reflection/OwnKeyOf.d.ts
/**
 * The `keyof` type {@link T} excluding any keys of type {@link __proto__}
 * @template T
 * @template __proto__ `null` or any `object`-like type.
 * @example
 * OwnKeyOf<NPP, MSBPP> === "IsPackable" | "SuppressDependenciesWhenPacking" | "PackageVersion" | "PackageId" | "PackageDescription" | "Authors" | "Copyright" | "PackageRequireLicenseAcceptance" | "DevelopmentDependency" | "PackageLicenseExpression" | "PackageLicenseFile" | "PackageProjectUrl" | "PackageIcon" | "PackageReleaseNotes" | "PackageReadmeFile" | "PackageTags" | "PackageOutputPath" | "IncludeSymbols" | "IncludeSource" | "PackageType" | "IsTool" | "RepositoryUrl" | "RepositoryType" | "RepositoryCommit" | "SymbolPackageFormat" | "NoPackageAnalysis" | "MinClientVersion" | "IncludeBuildOutput" | "IncludeContentInPack" | "BuildOutputTargetFolder" | "ContentTargetFolders" | "NuspecFile" | "NuspecBasePath" | "NuspecProperties" | "Title" | "Company" | "Product"
 * OwnKeyOf<typeof NPP, typeof MSBPP> === never ; // class NPP does not have non-inherited static members
 * OwnKeyOf<typeof NPP, null> === "prototype" | "GetFullPath"
 * @since 3.0.0
 */
type OwnKeyOf<T, __prototype__ extends object | null> = Exclude<__prototype__ extends null ? keyof T : Exclude<keyof T, keyof __prototype__>, '__proto__'>;
//#endregion
export { OwnKeyOf };
//# sourceMappingURL=OwnKeyOf.d.mts.map