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 StreamService {
    private readonly httpClient;
    private readonly config;
    private readonly authConfig;
    constructor(authConfig: AuthConfig, serviceConfig: StreamServiceConfig);
    getStreamKey(request: StreamGetKeyRequest): Promise<StreamCredentials>;
    private validateGetStreamKeyRequest;
    private createHttpClient;
    private transformChannelDataToStreamCredentials;
    private transformAxiosError;
    startStream(request: StreamStartRequest): Promise<StreamStartResponse>;
    private validateStartStreamRequest;
    stopStream(request: StreamStopRequest): Promise<StreamStopResponse>;
    private validateStopStreamRequest;
    getStreamStatus(request: StreamStatusRequest): Promise<StreamStatusInfo>;
    private getStreamInfo;
    private getChannelBasicInfo;
    private validateStreamStatusRequest;
    private formatDuration;
    private formatBandwidth;
}
//# sourceMappingURL=stream.service.d.ts.map