/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */ export type ArtifactKind = 'file' | 'image' | 'audio' | 'video' | 'document' | 'archive' | 'data'; export declare const ARTIFACT_ACQUISITION_MODES: readonly ["inline-data", "local-path", "remote-fetch", "unknown"]; export declare const ARTIFACT_FETCH_MODES: readonly ["not-applicable", "public-only", "allow-private-hosts", "unknown"]; export type ArtifactAcquisitionMode = typeof ARTIFACT_ACQUISITION_MODES[number]; export type ArtifactFetchMode = typeof ARTIFACT_FETCH_MODES[number]; export interface ArtifactDescriptor { readonly id: string; readonly kind: ArtifactKind; readonly mimeType: string; readonly filename?: string | undefined; readonly sizeBytes: number; readonly sha256: string; readonly createdAt: number; readonly expiresAt?: number | undefined; readonly sourceUri?: string | undefined; readonly acquisitionMode: ArtifactAcquisitionMode; readonly fetchMode: ArtifactFetchMode; readonly metadata: Record; } export interface ArtifactRecord extends ArtifactDescriptor { readonly contentPath: string; readonly metadataPath: string; } export interface ArtifactReference { readonly artifactId: string; readonly label?: string | undefined; readonly metadata?: Record | undefined; } export interface ArtifactAttachment extends ArtifactDescriptor { readonly artifactId: string; readonly label?: string | undefined; readonly contentPath: string; readonly contentUrl?: string | undefined; readonly dataBase64?: string | undefined; } export interface ArtifactCreateInput { readonly kind?: ArtifactKind | undefined; readonly mimeType?: string | undefined; readonly filename?: string | undefined; readonly dataBase64?: string | undefined; readonly text?: string | undefined; readonly path?: string | undefined; readonly uri?: string | undefined; readonly sourceUri?: string | undefined; readonly retentionMs?: number | undefined; readonly acquisitionMode?: ArtifactAcquisitionMode | undefined; readonly fetchMode?: ArtifactFetchMode | undefined; readonly allowPrivateHosts?: boolean | undefined; readonly metadata?: Record | undefined; } export interface ArtifactStreamCreateInput { readonly stream: ReadableStream | AsyncIterable | Iterable; readonly kind?: ArtifactKind | undefined; readonly mimeType?: string | undefined; readonly filename?: string | undefined; readonly sourceUri?: string | undefined; readonly sizeBytes?: number | undefined; readonly retentionMs?: number | undefined; readonly acquisitionMode?: ArtifactAcquisitionMode | undefined; readonly fetchMode?: ArtifactFetchMode | undefined; readonly metadata?: Record | undefined; } export declare const EXTENSION_MIME_TYPES: Record; export declare function guessMimeType(filename?: string): string; export declare function inferArtifactKind(mimeType: string, filename?: string): ArtifactKind; export declare function sanitizeArtifactFilename(filename: string | undefined, fallback?: string): string; //# sourceMappingURL=types.d.ts.map