import { Recorder } from "@bililive-tools/manager";
import { SourceProfile, StreamProfile } from "./bilibili_api.js";
import type { RecorderCreateOpts } from "@bililive-tools/manager";
export declare function getStrictStream(roomId: number, options: {
    qn: number;
    cookie?: string;
    protocol_name: string;
    format_name: string;
    codec_name: string;
}): Promise<string>;
export declare function getLiveStatus(channelId: string): Promise<{
    living: boolean;
    liveId: string;
    owner: string;
    title: string;
}>;
export declare function getInfo(channelId: string): Promise<{
    living: boolean;
    owner: string;
    title: string;
    roomId: number;
    avatar: string;
    cover: string;
    uid: number;
    liveId: string;
    liveStartTime: Date;
    recordStartTime: Date;
    area: string;
}>;
export declare function getStream(opts: Pick<Recorder, "channelId" | "quality"> & {
    cookie?: string;
    strictQuality?: boolean;
    formatName: RecorderCreateOpts["formatName"];
    codecName: RecorderCreateOpts["codecName"];
    onlyAudio?: boolean;
    customHost?: string;
}): Promise<{
    currentStream: {
        name: string;
        source: string;
        url: string;
    };
    streams: StreamProfile[];
    sources: SourceProfile[];
    name: string;
    streamOptions: {
        protocol_name: "http_stream" | "http_hls";
        format_name: string;
        codec_name: string;
        qn: number;
    };
    codec_name: string | "avc" | "hevc";
    accept_qn: number[];
    base_url: string;
    current_qn: number;
    url_info: Omit<SourceProfile, "name">[];
}>;
