import type { FileLoadCallback } from '../io'; import type { Attachment } from 'svelte/attachments'; import { type MaterialPayload, type OpenedMaterial } from './open'; export interface MaterialLoaderInputs { data_url?: () => string | undefined; inline_source?: () => MaterialPayload | undefined; current_value: () => Value | undefined; allow_file_drop: () => boolean; on_file_drop?: () => FileLoadCallback | undefined; set_loading?: (loading: boolean) => void; set_error: (message: string | undefined) => void; set_dragover?: (over: boolean) => void; commit: (opened: OpenedMaterial) => void; report_error: (message: string, metadata?: Partial) => void; } export declare function create_material_loader(inputs: MaterialLoaderInputs): Attachment;