/** * Concrete rule ref types. * * @experimental This API is unstable and may change without notice. * @packageDocumentation */ import type { GitHostedRefDetails, LocalRefDetails, RegistryRefDetails, WorkspaceRefDetails } from "../extensions/ref-base.js"; import type { ExtensionRefBase } from "../extensions/ref-base.js"; import type { GitBasedSource, LocalSource, RegistrySource, WorkspaceSource } from "../sources/types.js"; import type { ExtensionName } from "../extensions/common.js"; type RuleExtensionRefBase = ExtensionRefBase<"rule", Extract, Extract> & { readonly rule: { readonly name: ExtensionName; }; }; /** @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=refs.d.ts.map