//#region src/format-data-uri.d.ts
/**
 * Creates a data URI from a string of data.
 *
 * @param data - The data to convert to a data URI.
 * @param mime - The MIME type of the data.
 * @returns The data URI.
 */
declare const formatDataURI: (data: string, mime: string) => string;
interface ParsedDataURI {
  type: string;
  typeFull: string;
  charset: string;
  buffer: ArrayBuffer;
}
interface BufferConversionsInterface {
  base64ToArrayBuffer: (base64: string) => ArrayBuffer;
  stringToBuffer: (str: string) => ArrayBuffer;
}
/**
 * Returns a `Buffer` instance from the given data URI `uri`.
 *
 *  @example
 * ```typescript
 * import { makeDataUriToBuffer } from "@stryke/core/http";
 *
 * const dataUriToBuffer = makeDataUriToBuffer({
 *   base64ToArrayBuffer: (base64) => Buffer.from(base64, "base64").buffer,
 *   stringToBuffer: (str) => Buffer.from(str, "utf8")https://avatars.githubusercontent.com/u/99053093?s=64&v=4.buffer,
 * });
 * const parsed = dataUriToBuffer("data:text/plain;base64,SGVsbG8sIFdvcmxkIQ==");
 * console.log(parsed);
 * // {
 * //   type: 'text/plain',
 * //   typeFull: 'text/plain;base64',
 * //   charset: '',
 * //   buffer: ArrayBuffer { ... }
 * // }
 * console.log(Buffer.from(parsed.buffer).toString("utf8"));
 * // Hello, World!
 * ```
 *
 * @param convert - Conversion functions
 * @returns An object containing the parsed data URI properties and the decoded data as a Buffer instance.
 * @throws `TypeError` if `uri` is not a valid Data URI
 */
declare const makeDataUriToBuffer: (convert: BufferConversionsInterface) => (uri: string | URL) => ParsedDataURI;
//#endregion
export { BufferConversionsInterface, ParsedDataURI, formatDataURI, makeDataUriToBuffer };
//# sourceMappingURL=format-data-uri.d.cts.map