import { fabric } from 'fabric';
export { default as psdToJson, type PsdFile } from './psd';
/**
 * Checks if the given type is a text type
 */
export declare const isTextType: (type?: string) => type is "text" | "textbox" | "i-text";
interface FabricObject {
    type?: string;
    fontFamily?: string;
    objects?: FabricObject[];
}
/**
 * Downloads a file with the given data URL and format
 */
export declare const downloadFile: (dataUrl: string, format: string) => void;
/**
 * Transforms text objects in preparation for export
 */
export declare const transformText: (objects: FabricObject[]) => Promise<void>;
/**
 * Creates a filter based on the given type
 */
export declare const createFilter: (type: string) => fabric.IBaseFilter | undefined;
/**
 * Centers an object in the canvas
 */
export declare const centerObjectInCanvas: (canvas: fabric.Canvas, object: fabric.Object) => void;
/**
 * Generates a random ID
 */
export declare const generateRandomId: () => string;
/**
 * Gets a property value from an object
 */
export declare const getPropertyValue: (object: fabric.Object, property: string) => any;
export interface GenericRecord {
    [key: string]: unknown;
}
export declare const deepMerge: (target: GenericRecord, source: GenericRecord) => GenericRecord;
/**
 * Creates a debounced version of a function
 */
export declare const debounce: <F extends (...args: unknown[]) => unknown>(func: F, waitFor: number) => (...args: Parameters<F>) => ReturnType<F>;
/**
 * Loads a font using the FontFace API if available
 */
export declare const loadFont: (fontFamily: string, url: string) => Promise<boolean>;
/**
 * Converts a Base64 string to a Blob
 */
export declare const base64ToBlob: (base64: string, mimeType: string) => Blob;
