import { CloudRecordingAPI } from '../../api/api';
import { AcquireResourceRes } from '../../api/res/acquireResource';
import { StartResourceRes } from '../../api/res/startResource';
import { StopResourceRes } from '../../api/res/stopResource';
import { UpdateResourceRes } from '../../api/res/updateResource';
import { AcquireMixRecordingResourceClientReq } from './req/acquireMixRecordingResourceClientReq';
import { StartMixRecordingResourceClientReq } from './req/startMixRecordingResourceClientReq';
import { UpdateLayoutMixRecordingResourceClientReq } from './req/updateLayoutMixRecordingResourceClientReq';
import { UpdateMixRecordingResourceClientReq } from './req/updateMixRecordingResourceClientReq';
import { QueryMixHLSAndMP4RecordingResourceRes } from './res/queryMixHLSAndMP4RecordingResourceRes';
import { QueryMixHLSRecordingResourceRes } from './res/queryMixHLSRecordingResourceRes';
export declare class MixScenarioClient {
    private api;
    constructor(api: CloudRecordingAPI);
    acquire(cname: string, uid: string, clientRequest: AcquireMixRecordingResourceClientReq): Promise<AcquireResourceRes>;
    start(cname: string, uid: string, resourceId: string, clientRequest: StartMixRecordingResourceClientReq): Promise<StartResourceRes>;
    queryHLS(resourceId: string, sid: string): Promise<QueryMixHLSRecordingResourceRes>;
    queryHLSAndMP4(resourceId: string, sid: string): Promise<QueryMixHLSAndMP4RecordingResourceRes>;
    update(cname: string, uid: string, resourceId: string, sid: string, clientRequest: UpdateMixRecordingResourceClientReq): Promise<UpdateResourceRes>;
    updateLayout(cname: string, uid: string, resourceId: string, sid: string, clientRequest: UpdateLayoutMixRecordingResourceClientReq): Promise<UpdateResourceRes>;
    stop(cname: string, uid: string, resourceId: string, sid: string, asyncStop: boolean): Promise<StopResourceRes>;
}
