/** * Concrete rule ref types. * * @experimental This API is unstable and may change without notice. * @packageDocumentation */ import type { GitHostedRefDetails, LocalRefDetails, RegistryRefDetails, WorkspaceRefDetails } from "./ref-base.js"; import type { ExtensionRefBase } from "./ref-base.js"; import type { GitBasedSource, LocalSource, RegistrySource, WorkspaceSource } from "../../sources/types.js"; import type { ExtensionName } from "../common.js"; type RuleExtensionRefBase = ExtensionRefBase<"rule", Extract, Extract> & { readonly rule: { readonly name: ExtensionName; /** What the package's manifest says it is for, where discovery read one. */ readonly description?: string; }; }; /** @experimental */ export type GitHostedRuleRef = RuleExtensionRefBase<"git-hosted", GitBasedSource> & GitHostedRefDetails; /** @experimental */ export type RegistryRuleRef = RuleExtensionRefBase<"registry", RegistrySource> & RegistryRefDetails; /** @experimental */ export type LocalRuleRef = RuleExtensionRefBase<"local", LocalSource> & LocalRefDetails; /** @experimental */ export type WorkspaceRuleRef = RuleExtensionRefBase<"workspace", WorkspaceSource> & WorkspaceRefDetails; /** @experimental */ export type RuleExtensionRef = GitHostedRuleRef | RegistryRuleRef | LocalRuleRef | WorkspaceRuleRef; export {}; //# sourceMappingURL=rule.d.ts.map