import { NextFunction, Response } from 'express';
import { AuthDto } from "../dtos/auth.dto";
import { HlsPlaylistHeaderDto, HlsSegmentHeaderDto, HlsSegmentParamDto, HlsSessionParamDto, HlsVariantParamDto } from "../dtos/streaming.dto";
import { LoggingRepository } from "../repositories/logging.repository";
import { HlsService } from "../services/hls.service";
import { UUIDParamDto } from "../validation";
export declare class VideoStreamController {
    private logger;
    private service;
    constructor(logger: LoggingRepository, service: HlsService);
    getMainPlaylist(auth: AuthDto, { id }: UUIDParamDto): Promise<string>;
    getMediaPlaylist(auth: AuthDto, { id, sessionId, variantIndex }: HlsVariantParamDto, headers: HlsPlaylistHeaderDto): Promise<string>;
    getSegment(auth: AuthDto, { id, sessionId, variantIndex, filename }: HlsSegmentParamDto, headers: HlsSegmentHeaderDto, res: Response, next: NextFunction): Promise<void>;
    endSession(auth: AuthDto, { id, sessionId }: HlsSessionParamDto): Promise<void>;
}
