export declare function ensureEndpointIdFormat(id: string): string; declare const ENDPOINT_NAMESPACES: readonly ["workflows", "comfy"]; type EndpointNamespace = (typeof ENDPOINT_NAMESPACES)[number]; export type EndpointId = { readonly owner: string; readonly alias: string; readonly path?: string; readonly namespace?: EndpointNamespace; }; export declare function parseEndpointId(id: string): EndpointId; /** * Resolves the endpoint path, normalizing it and applying a default. * If no explicit path is provided and the app already ends with the * default path, returns undefined to avoid duplication. * * @param app - The app/endpoint identifier * @param path - An explicitly provided path (always used if present) * @param defaultPath - The default path to use (e.g. "/realtime") * @returns The resolved path, or undefined if the app already includes it */ export declare function resolveEndpointPath(app: string, path: string | undefined, defaultPath: string): string | undefined; export declare function isValidUrl(url: string): boolean; export declare function throttle any>(func: T, limit: number, leading?: boolean): (...funcArgs: Parameters) => ReturnType | void; /** * Not really the most optimal way to detect if we're running in React, * but the idea here is that we can support multiple rendering engines * (starting with React), with all their peculiarities, without having * to add a dependency or creating custom integrations (e.g. custom hooks). * * Yes, a bit of magic to make things works out-of-the-box. * @returns `true` if running in React, `false` otherwise. */ export declare function isReact(): boolean; /** * Check if a value is a plain object. * @param value - The value to check. * @returns `true` if the value is a plain object, `false` otherwise. */ export declare function isPlainObject(value: any): boolean; /** * Utility function to sleep for a given number of milliseconds */ export declare function sleep(ms: number): Promise; export {};