/// <reference types="node" />
import { SeedanceConfig, VideoGenerationRequest, VideoGenerationResponse, VideoTask, PaginatedResponse, VideoListOptions, WebhookConfig, UploadResponse, QuotaInfo, UserInfo } from '../types';
/**
 * Seedance AI Video Generation Client
 *
 * Official SDK for integrating Seedance AI video generation capabilities
 * into your applications. Supports text-to-video and image-to-video generation
 * with advanced features like multi-shot narrative and style control.
 *
 * @example
 * ```typescript
 * import { SeedanceClient } from '@seedance/video-sdk';
 *
 * const client = new SeedanceClient({
 *   apiKey: 'your-api-key'
 * });
 *
 * // Generate video from text
 * const task = await client.generateVideo({
 *   prompt: 'A beautiful sunset over the ocean',
 *   duration: 5,
 *   resolution: '1080p'
 * });
 *
 * // Check progress
 * const status = await client.getTask(task.taskId);
 * ```
 */
export declare class SeedanceClient {
    private client;
    private config;
    constructor(config: SeedanceConfig);
    /**
     * Generate a video from text prompt or image
     */
    generateVideo(request: VideoGenerationRequest): Promise<VideoGenerationResponse>;
    /**
     * Get task status and details
     */
    getTask(taskId: string): Promise<VideoTask>;
    /**
     * List user's video tasks with pagination
     */
    listTasks(options?: VideoListOptions): Promise<PaginatedResponse<VideoTask>>;
    /**
     * Cancel a pending or processing task
     */
    cancelTask(taskId: string): Promise<void>;
    /**
     * Delete a completed task
     */
    deleteTask(taskId: string): Promise<void>;
    /**
     * Upload an image for later use in video generation
     */
    uploadImage(image: File | Buffer, filename?: string): Promise<UploadResponse>;
    /**
     * Get user quota information
     */
    getQuota(): Promise<QuotaInfo>;
    /**
     * Get user information
     */
    getUserInfo(): Promise<UserInfo>;
    /**
     * Configure webhook for task notifications
     */
    configureWebhook(config: WebhookConfig): Promise<void>;
    /**
     * Wait for task completion with polling
     */
    waitForCompletion(taskId: string, options?: {
        pollInterval?: number;
        timeout?: number;
        onProgress?: (task: VideoTask) => void;
    }): Promise<VideoTask>;
    private setupInterceptors;
    private handleError;
}
//# sourceMappingURL=SeedanceClient.d.ts.map