import { StreamGetKeyRequest, StreamCredentials, StreamStartRequest, StreamStartResponse, StreamStopRequest, StreamStopResponse, StreamStatusRequest, StreamStatusInfo } from '../types/stream';
import { AuthConfig } from '../types/auth';
export interface StreamServiceConfig {
    baseUrl: string;
    timeout: number;
    debug: boolean;
}
export declare class StreamServiceSdk {
    private readonly config;
    private readonly authConfig;
    constructor(authConfig: AuthConfig, serviceConfig: StreamServiceConfig);
    getStreamKey(request: StreamGetKeyRequest): Promise<StreamCredentials>;
    startStream(request: StreamStartRequest): Promise<StreamStartResponse>;
    stopStream(request: StreamStopRequest): Promise<StreamStopResponse>;
    getStreamStatus(request: StreamStatusRequest): Promise<StreamStatusInfo>;
    getLiveStatus(stream: string): Promise<any>;
    getLiveStatusList(options: {
        channelIds: string[];
    }): Promise<any>;
    getStreams(options: {
        channelIds: string[];
    }): Promise<any>;
    getHlsPullUrl(channelId: string): Promise<string>;
    listDiskVideo(options: any): Promise<any>;
    getCaptureImage(channelId: string): Promise<any>;
    addDiskVideos(options: any): Promise<any>;
    deleteDiskVideos(options: any): Promise<any>;
    endDiskPush(options: any): Promise<any>;
    banPush(options: any): Promise<any>;
    resume(options: {
        channelId: string;
        userId: string;
    }): Promise<any>;
    updateStreamType(options: any): Promise<any>;
    private validateChannelId;
    private formatDuration;
    private formatBandwidth;
    private handleError;
}
//# sourceMappingURL=stream.service.sdk.d.ts.map