import { IDestroyable, Registration } from 'destroyable'; import type { string_mime_type } from '../../types/string_mime_type'; import type { string_url } from '../../types/string_url'; /** * Converts Blob, File or MediaSource to url using URL.createObjectURL * * @public exported from `@promptbook/browser` */ export declare class ObjectUrl extends Registration implements IDestroyable { readonly src: string_url; private constructor(); /** * Creates ObjectUrl from multiple input types * Note: DO NOT forget to call destroy() when you are done with it */ static from(source: Blob | File | MediaSource | string, mimeType: string_mime_type): ObjectUrl; /** * Creates ObjectUrl from string * Note: DO NOT forget to call destroy() when you are done with it */ static fromString(source: string, mimeType: string_mime_type): ObjectUrl; /** * Creates ObjectUrl * DO NOT forget to call destroy() when you are done with it */ static fromBlob(source: Blob | File | MediaSource): ObjectUrl; /** * Creates ObjectUrl: * 1) With functionality for Blobs, Files or MediaSources * 2) Just a wrapper for string urls * * DO NOT forget to call destroy() when you are done with it */ static fromBlobOrUrl(source: Blob | File | MediaSource | URL | string_url): ObjectUrl; /** * Gets object url as string * @alias src */ get href(): string_url; /** * Gets object url as URL object */ get url(): URL; }