import type { ProjectConfig, SogniClientConfig, ImageProjectConfig, VideoProjectConfig, AudioProjectConfig } from '../types/index.js'; export declare function generateAppId(): string; export declare function isImageProjectConfig(config: ProjectConfig): config is ImageProjectConfig; export declare function isVideoProjectConfig(config: ProjectConfig): config is VideoProjectConfig; export declare function isAudioProjectConfig(config: ProjectConfig): config is AudioProjectConfig; export declare function isWanVideoModel(modelId: string): boolean; export declare function isLtxVideoModel(modelId: string): boolean; export declare function isSeedanceVideoModel(modelId: string): boolean; export declare function isSeedance25VideoModel(modelId: string): boolean; export declare function isHappyHorseVideoModel(modelId: string): boolean; export declare function isMiniMaxH3VideoModel(modelId: string): boolean; export declare function isLooseReferenceVideoModel(modelId: string): boolean; export interface VideoDimensionRules { minDimension: number; maxDimension: number; dimensionMultiple: number; maxPixels?: number; } export declare function getVideoDimensionRules(modelId?: string): VideoDimensionRules; export declare function getMaxContextImages(modelId: string): number; export declare function supportsContextImages(modelId: string): boolean; export declare function isCookieAuth(config: SogniClientConfig): boolean; export declare function validateClientConfig(config: SogniClientConfig): void; export declare function validateProjectConfig(config: ProjectConfig): void; export declare function createTimeoutPromise(timeoutMs: number, errorMessage?: string): Promise; export declare function waitFor(condition: () => boolean | Promise, options?: { timeout?: number; interval?: number; timeoutMessage?: string; }): Promise; export declare function sleep(ms: number): Promise; export declare function retry(fn: () => Promise, options?: { maxAttempts?: number; initialDelay?: number; maxDelay?: number; backoffFactor?: number; onRetry?: (attempt: number, error: Error) => void; }): Promise; export declare function formatBytes(bytes: number, decimals?: number): string; export declare function formatDuration(ms: number): string; export declare function deepClone(obj: T): T; export declare function isPlainObject(value: any): value is Record; export declare function deepMerge>(target: T, ...sources: Partial[]): T; export declare function sanitizeForLog(str: string, keysToHide?: string[]): string; export declare function debounce any>(func: T, waitMs: number): (...args: Parameters) => void; export declare function throttle any>(func: T, limitMs: number): (...args: Parameters) => void; //# sourceMappingURL=helpers.d.ts.map