import * as Schema from "effect/Schema";
import { BadRequest, Forbidden, NotFound } from "../../errors.ts";
export declare const TasksStagedArtifactsFinalizeUploadCreateInput: Schema.Struct<{
    readonly id: Schema.String;
    readonly project_id: Schema.String;
    readonly artifacts: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.Literals<readonly ["plan", "context", "reference", "output", "artifact", "tree_snapshot", "user_attachment"]>>;
        readonly source: Schema.optional<Schema.String>;
        readonly storage_path: Schema.optional<Schema.String>;
        readonly content_type: Schema.optional<Schema.String>;
    }>>>;
}>;
export type TasksStagedArtifactsFinalizeUploadCreateInput = typeof TasksStagedArtifactsFinalizeUploadCreateInput.Type;
export declare const TasksStagedArtifactsFinalizeUploadCreateOutput: Schema.Struct<{
    readonly artifacts: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly source: Schema.optional<Schema.String>;
        readonly size: Schema.optional<Schema.Number>;
        readonly content_type: Schema.optional<Schema.String>;
        readonly storage_path: Schema.optional<Schema.String>;
        readonly uploaded_at: Schema.optional<Schema.String>;
    }>>>;
}>;
export type TasksStagedArtifactsFinalizeUploadCreateOutput = typeof TasksStagedArtifactsFinalizeUploadCreateOutput.Type;
/**
 * Finalize staged direct uploads for task attachments
 *
 * Verify staged S3 uploads and cache their metadata so they can be attached to the next run created for this task.
 *
 * @param id - A UUID string identifying this task.
 * @param project_id - Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
 */
export declare const tasksStagedArtifactsFinalizeUploadCreate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly id: string;
    readonly project_id: string;
    readonly artifacts?: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly type?: "artifact" | "context" | "output" | "plan" | "reference" | "tree_snapshot" | "user_attachment" | undefined;
        readonly source?: string | undefined;
        readonly storage_path?: string | undefined;
        readonly content_type?: string | undefined;
    }[] | undefined;
}, {
    readonly artifacts?: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly type?: string | undefined;
        readonly source?: string | undefined;
        readonly size?: number | undefined;
        readonly content_type?: string | undefined;
        readonly storage_path?: string | undefined;
        readonly uploaded_at?: string | undefined;
    }[] | undefined;
}, BadRequest | Forbidden | NotFound, import("~/credentials.ts").Credentials>;
//# sourceMappingURL=tasksStagedArtifactsFinalizeUploadCreate.d.ts.map