import { AnalysisArtifactDetail, ArtifactFileSource, ArtifactSaveDialogHandler, ArtifactSaveDialogPayload, ArtifactSaveResult } from '../types/analysisArtifactTypes'; import { ModalSize } from '../types'; interface Props { modelValue: boolean; /** Performs the backend write; the dialog never calls the platform itself. */ saveHandler: ArtifactSaveDialogHandler; /** Which artifact kinds the form offers. */ mode?: 'json' | 'file' | 'both'; /** Use `handler` when the plugin backend serializes the file content itself. */ fileSource?: ArtifactFileSource; /** JSON result payload supplied programmatically by the host. */ result?: Record; /** Experiment id override; defaults to platform injection or URL. */ experimentId?: number | null; /** Existing artifact detail; when set the dialog updates instead of creating. */ existingArtifact?: AnalysisArtifactDetail | null; /** Known artifact keys, used to warn (json) or block (file) on collisions. */ existingArtifactKeys?: string[]; title?: string; size?: ModalSize; defaultArtifactKey?: string; defaultDisplayName?: string; /** Maps to the Python `kind=` argument for new file artifacts. */ defaultFileKind?: string; /** Forwarded to the file uploader. */ accept?: string; /** Forwarded to the file uploader (bytes). */ maxFileSize?: number; /** * Result metadata for file artifacts. Backend-side this REPLACES the previous * metadata; on replacement the existing artifact's metadata is carried through * unless this prop supplies a new map. */ metadata?: Record; } declare const __VLS_export: import('vue').DefineComponent any; "update:modelValue": (value: boolean) => any; cancel: () => any; saved: (result: ArtifactSaveResult & { payload: ArtifactSaveDialogPayload; }) => any; }, string, import('vue').PublicProps, Readonly & Readonly<{ onError?: ((message: string) => any) | undefined; "onUpdate:modelValue"?: ((value: boolean) => any) | undefined; onCancel?: (() => any) | undefined; onSaved?: ((result: ArtifactSaveResult & { payload: ArtifactSaveDialogPayload; }) => any) | undefined; }>, { size: ModalSize; mode: "json" | "file" | "both"; experimentId: number | null; fileSource: ArtifactFileSource; existingArtifact: AnalysisArtifactDetail | null; defaultArtifactKey: string; defaultFileKind: string; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>; declare const _default: typeof __VLS_export; export default _default;