/** * Package URL (purl) schema for decomposing purl strings into typed parts. * * Follows the same String -> Parts pattern as RegistrySourcePatternSchema. * * @experimental This API is unstable and may change without notice. */ import * as Schema from "effect/Schema"; /** * Structured purl components schema covering the seven spec components: * type, namespace, name, version, qualifiers, and subpath. The `pkg` scheme * is implicit. * * @experimental This API is unstable and may change without notice. */ export declare const PackageUrlPartsSchema: Schema.Struct<{ readonly type: Schema.brand; readonly namespace: Schema.optional; readonly name: Schema.String; readonly version: Schema.optional; readonly qualifiers: Schema.optional>; readonly subpath: Schema.optional; }>; /** * Inferred type for decomposed purl parts. * * @experimental This API is unstable and may change without notice. */ export type PackageUrlParts = Schema.Schema.Type; /** * Format a PackageUrlParts as a human-readable display string: `name (type)`. * * @experimental This API is unstable and may change without notice. */ export declare const formatPackageDisplay: (parts: PackageUrlParts) => string; /** * Schema that decodes purl strings into structured PackageUrlParts and * encodes parts back to canonical purl strings. * * @experimental This API is unstable and may change without notice. */ export declare const PackageUrlSchema: Schema.decodeTo; readonly namespace: Schema.optional; readonly name: Schema.String; readonly version: Schema.optional; readonly qualifiers: Schema.optional>; readonly subpath: Schema.optional; }>>, Schema.String, never, never>; //# sourceMappingURL=package-url.d.ts.map