import * as Effect from "effect/Effect"; import type { ExtensionName, ExtensionType } from "../extensions/index.js"; import type { Handle } from "../extensions/handle.js"; import { ArchiveGuardrailError, type ArchiveGuardrailLimits, type ZipEntry } from "./archive-guardrails.js"; import { type IngestLimitError, type IngestUnsupportedContentTypeError } from "./ingest-limits.js"; import { type ManifestError, type ResolvedManifest } from "./manifest-policy.js"; import type { Version } from "../version-constraints/version-constraints.js"; import { FilteredPackageError } from "./filtered-package-validation.js"; export interface DeclaredPublishIdentity { readonly owner: Handle; readonly type: ExtensionType; readonly name: ExtensionName; readonly version: Version; } export interface PublishArchiveInput { readonly archiveBytes: Uint8Array; readonly archiveContentType?: string; readonly clientIntegrity?: string; } export interface NormalizePublishInputArgs { readonly declaredIdentity: DeclaredPublishIdentity; readonly archive: PublishArchiveInput; readonly digestHeader?: string; readonly readEntry?: (archiveBytes: Uint8Array, entry: ZipEntry) => Effect.Effect; readonly guardrailLimits?: ArchiveGuardrailLimits; } export interface PublishInput { readonly owner: Handle; readonly type: ExtensionType; readonly name: ExtensionName; readonly version: Version; readonly archiveBytes: Uint8Array; readonly archiveContentType: string; readonly manifest: ResolvedManifest; readonly clientIntegrity?: string; readonly digestHeader?: string; } export declare const defaultReadEntry: (archiveBytes: Uint8Array, entry: ZipEntry) => Effect.Effect; export declare const normalizePublishInput: (args: NormalizePublishInputArgs) => Effect.Effect; //# sourceMappingURL=input-normalization.d.ts.map