import type { EnvVar } from '../types.js'; import type { HushArtifactFormat, HushLogicalPath, HushTargetDefinition } from './domain.js'; import type { HushResolvedNode, HushTargetResolution } from './provenance.js'; export interface HushArtifactBaseDescriptor { logicalPath: HushLogicalPath; format: HushArtifactFormat; sensitive: boolean; provenance: HushResolvedNode['provenance']; resolvedFrom: HushResolvedNode['resolvedFrom']; suggestedName: string; relativePath: string; sha256: string; } export interface HushArtifactFileDescriptor extends HushArtifactBaseDescriptor { kind: 'file'; content: string; } export interface HushArtifactBinaryDescriptor extends HushArtifactBaseDescriptor { kind: 'binary'; content: Uint8Array; encoding: 'base64' | 'utf8'; } export type HushArtifactDescriptor = HushArtifactFileDescriptor | HushArtifactBinaryDescriptor; export interface HushTargetArtifactDescriptor extends HushArtifactFileDescriptor { source: 'target'; target: string; } export interface HushArtifactShapeResult { envVars: EnvVar[]; env: Record; targetArtifact: HushTargetArtifactDescriptor | null; artifacts: HushArtifactDescriptor[]; } export declare function targetFormatToArtifactFormat(format: HushTargetDefinition['format']): HushArtifactFormat; export declare function shapeTargetArtifacts(targetName: string, target: HushTargetDefinition, resolution: HushTargetResolution): HushArtifactShapeResult; export declare function shapeResolvedArtifacts(targetName: string, target: HushTargetDefinition, resolution: HushTargetResolution): HushArtifactShapeResult; export declare function shapeBundleArtifacts(resolution: HushTargetResolution | { values: HushTargetResolution['values']; artifacts: HushTargetResolution['artifacts']; }): HushArtifactShapeResult; //# sourceMappingURL=artifacts.d.ts.map