import { EventEmitter } from 'events'; import { ChatStream } from '@sogni-ai/sogni-client'; import type { SogniClientConfig, ProjectConfig, ImageProjectConfig, VideoProjectConfig, AudioProjectConfig, ProjectResult, ConnectionState, ModelInfo, BalanceInfo, AccountInfo, SubscriptionEntitlementSnapshot, SizePreset, GetModelsOptions, ClientEventCallbacks, QwenImageEditConfig, VideoCostEstimateParams, AudioCostEstimateParams, CostEstimate, ChatMessage, ChatCompletionParams, ChatCompletionResult, LLMCostEstimation, LLMModelInfo, CreativeWorkflowEvent, CreativeWorkflowRecord, CreativeWorkflowSseEvent, ListCreativeWorkflowOptions, StartCreativeWorkflowOptions, StartCreativeWorkflowParams, StreamCreativeWorkflowEventsOptions } from '../types/index.js'; import { ClientEvent } from '../types/index.js'; export declare class SogniClientWrapper extends EventEmitter { private client; private config; private connectionState; private reconnectTimer; private isReconnecting; private projectEventHandler; private jobEventHandler; private chatTokenEventHandler; private chatCompletedEventHandler; private chatErrorEventHandler; private chatJobStateEventHandler; private chatModelsUpdatedEventHandler; private projectEtaSeconds; constructor(config: SogniClientConfig); connect(): Promise; disconnect(): Promise; dispose(): Promise; isConnected(): boolean; getConnectionState(): ConnectionState; getAvailableModels(options?: GetModelsOptions): Promise; getModel(modelId: string): Promise; getMostPopularModel(): Promise; getAvailableChatModels(): Promise>; waitForChatModels(timeout?: number): Promise>; estimateChatCost(params: { model: string; messages: ChatMessage[]; max_tokens?: number; tokenType?: 'sogni' | 'spark'; }): Promise; createChatCompletion(params: ChatCompletionParams & { stream: true; }): Promise; createChatCompletion(params: ChatCompletionParams & { stream?: false; }): Promise; startCreativeWorkflow(params: StartCreativeWorkflowParams, options?: StartCreativeWorkflowOptions): Promise; listCreativeWorkflows(options?: ListCreativeWorkflowOptions): Promise; getCreativeWorkflow(workflowId: string): Promise; getCreativeWorkflowEvents(workflowId: string): Promise; cancelCreativeWorkflow(workflowId: string): Promise; streamCreativeWorkflowEvents(workflowId: string, options?: StreamCreativeWorkflowEventsOptions): Promise>; getBalance(): Promise; getSubscriptionStatus(): Promise; getAccountInfo(): Promise; getSizePresets(network: 'fast' | 'relaxed', modelId: string): Promise; estimateVideoCost(params: VideoCostEstimateParams): Promise; estimateAudioCost(params: AudioCostEstimateParams): Promise; createProject(config: ProjectConfig): Promise; createProjectWithRetry(config: ProjectConfig, options?: { maxAttempts?: number; retryDelay?: number; }): Promise; createImageProject(config: Omit): Promise; createVideoProject(config: Omit): Promise; createAudioProject(config: Omit): Promise; createImageEditProject(config: QwenImageEditConfig): Promise; private prepareProjectConfig; private normalizeVideoDimensions; private isProcessableMedia; private mediaToBuffer; private getImageMetadata; private resizeImageBuffer; private loadSharp; private ensureConnected; private setupEventListeners; private scheduleReconnect; private updateConnectionState; private withTimeout; private getRecommendedSettings; private isWanModel; private isLtx2Model; private isHappyHorseModel; private isWan3Model; private getVideoDurationBounds; private getVideoGenerationFps; private getVideoFps; private calculateVideoFrames; private sanitizeConfig; private log; on(event: E, listener: ClientEventCallbacks[E]): this; emit(event: E, ...args: Parameters): boolean; } //# sourceMappingURL=SogniClientWrapper.d.ts.map