import { Step } from "./step.js"; /** Options for {@linkcode Artifact.upload}. */ export interface UploadConfig { /** Path or glob of the files to upload. */ path: string; /** Overrides the retention configured on the artifact. */ retentionDays?: number; } /** Options for {@linkcode Artifact.download}. */ export interface DownloadConfig { /** Directory to extract the artifact into. */ dirPath?: string; } /** Options for {@linkcode artifact}. */ export interface ArtifactOptions { /** Version of the upload/download actions to use. Defaults to `v6`. */ version?: string; /** Default retention for uploads of this artifact. */ retentionDays?: number; } /** * A named build artifact, providing the upload and download steps that move it * between jobs. A download automatically infers a job `needs` on every job that * uploads the artifact, regardless of the order the steps were created in. */ export declare class Artifact { #private; /** The artifact name shared by its upload and download steps. */ readonly name: string; constructor(name: string, options?: ArtifactOptions); /** Creates a step that uploads the artifact. */ upload(config: UploadConfig): Step; /** Creates a step that downloads the artifact. */ download(config?: DownloadConfig): Step; } /** Defines a named artifact to move files between jobs. */ export declare function artifact(name: string, options?: ArtifactOptions): Artifact; //# sourceMappingURL=artifact.d.ts.map