import { type Component, mount } from "svelte"; import type Container from "./Container.svelte"; import { toPng, toJpeg, toBlob, toPixelData, toSvg, toCanvas } from "html-to-image"; export type Fn = (...args: any[]) => any; export type ValueOrGetter = T | (() => T); /** Can be replaced in the future with `Promise.withResolvers` */ export declare const deferred: () => { promise: Promise; resolve: (value: T | PromiseLike) => void; reject: (reason?: any) => void; }; export type Deferred = ReturnType>; export declare const retrieve: (map: Map>, key: Key) => { promise: Promise; resolve: (value: any) => void; reject: (reason?: any) => void; } | { promise: Promise; resolve: (value: unknown) => void; reject: (reason?: any) => void; }; export declare class PromiseQueue { Types?: { Task: Record<"start" | "complete", Promise> & { mode: "serial" | "parallel"; }; }; private readonly root; private tail?; constructor(); open(): void; add(mode: Required["Types"]["Task"]["mode"], fn: () => Promise): Promise; } type ContainerMapSupplement = { total: number; find(index: number): Container; set current(container: Container); get context(): Container | undefined; each(callback: (container: Container) => void): void; reset(): void; }; type ContainerMap = Record & Map & ContainerMapSupplement; export declare const createContainerMap: () => ContainerMap; export type ExtractFromComponent> = T extends Component ? { props: Props; exports: Exports; bindings: Bindings; } : never; export type Mounted> = ReturnType["props"], ExtractFromComponent["exports"]>>; export declare class TestAborted extends Error { constructor(message?: string); } export declare const onAbort: (signal: AbortSignal, fn: () => void) => void; export declare const createTestAbortMechanism: () => { signal: AbortSignal; tryError: () => boolean; wrap: (fn: ReturnType extends Promise ? never : T) => (...args: Parameters) => any; until: Promise; controller: AbortController; proxy: (_target: T) => T; on: (fn: () => void) => void; }; export declare const downloadURI: (dataurl: string, filename: string) => void; export declare const createCapturer: (root: HTMLElement) => (type: T, options?: Parameters<{ png: typeof toPng; jpeg: typeof toJpeg; blob: typeof toBlob; pixelData: typeof toPixelData; svg: typeof toSvg; canvas: typeof toCanvas; }[T]>[1]) => T extends "png" | "jpeg" | "svg" ? { uri: ReturnType<{ png: typeof toPng; jpeg: typeof toJpeg; blob: typeof toBlob; pixelData: typeof toPixelData; svg: typeof toSvg; canvas: typeof toCanvas; }[T]>; download: (filename: string) => Promise; } : ReturnType<{ png: typeof toPng; jpeg: typeof toJpeg; blob: typeof toBlob; pixelData: typeof toPixelData; svg: typeof toSvg; canvas: typeof toCanvas; }[T]>; export declare const untilNextFrame: () => Promise; export {};