import type { Category, Channel, ChannelSummary, Character, CreateChannelRequest, CreateEpisodeRequest, Episode, EpisodeSummary, GenerateScriptRequest, ScriptJob, ScriptLine, SetUserPromptRequest, UpdateChannelRequest, UpdateEpisodeRequest, Voice } from "./types.js"; /** anycast-backend の HTTP クライアント */ export declare class AnycastClient { private readonly baseUrl; private readonly apiKey; constructor(baseUrl: string, apiKey: string); /** * 共通の HTTP リクエストメソッド * * @param method - HTTP メソッド * @param path - API パス(先頭スラッシュ付き) * @param body - リクエストボディ(省略可) * @returns パース済みレスポンス * * @throws ApiError - HTTP エラーレスポンスの場合 */ private request; /** * 自分のチャンネル一覧を取得する * * @returns チャンネル一覧 */ listChannels(): Promise; /** * チャンネルの詳細を取得する * * @param channelId - チャンネル ID * @returns チャンネル詳細 */ getChannel(channelId: string): Promise; /** * 新しいチャンネルを作成する * * @param data - チャンネル作成データ * @returns 作成されたチャンネル */ createChannel(data: CreateChannelRequest): Promise; /** * チャンネルを更新する * * @param channelId - チャンネル ID * @param data - チャンネル更新データ * @returns 更新されたチャンネル */ updateChannel(channelId: string, data: UpdateChannelRequest): Promise; /** * チャンネルの台本プロンプトを設定する * * @param channelId - チャンネル ID * @param data - 台本プロンプト設定データ * @returns 更新されたチャンネル */ setUserPrompt(channelId: string, data: SetUserPromptRequest): Promise; /** * チャンネルを公開する * * @param channelId - チャンネル ID * @returns 公開されたチャンネル */ publishChannel(channelId: string): Promise; /** * エピソード一覧を取得する * * @param channelId - チャンネル ID * @returns エピソード一覧 */ listEpisodes(channelId: string): Promise; /** * エピソードの詳細を取得する * * @param channelId - チャンネル ID * @param episodeId - エピソード ID * @returns エピソード詳細 */ getEpisode(channelId: string, episodeId: string): Promise; /** * 新しいエピソードを作成する * * @param channelId - チャンネル ID * @param data - エピソード作成データ * @returns 作成されたエピソード */ createEpisode(channelId: string, data: CreateEpisodeRequest): Promise; /** * エピソードを更新する * * @param channelId - チャンネル ID * @param episodeId - エピソード ID * @param data - エピソード更新データ * @returns 更新されたエピソード */ updateEpisode(channelId: string, episodeId: string, data: UpdateEpisodeRequest): Promise; /** * エピソードを公開する * * @param channelId - チャンネル ID * @param episodeId - エピソード ID * @returns 公開されたエピソード */ publishEpisode(channelId: string, episodeId: string): Promise; /** * カテゴリ一覧を取得する * * @returns カテゴリ一覧 */ listCategories(): Promise; /** * ボイス一覧を取得する * * @returns ボイス一覧 */ listVoices(): Promise; /** * 自分のキャラクター一覧を取得する * * @returns キャラクター一覧 */ listCharacters(): Promise; /** * 台本を非同期生成する * * @param channelId - チャンネル ID * @param episodeId - エピソード ID * @param data - 台本生成リクエスト * @returns 台本生成ジョブ */ generateScript(channelId: string, episodeId: string, data: GenerateScriptRequest): Promise; /** * 台本生成ジョブの状態を取得する * * @param jobId - ジョブ ID * @returns 台本生成ジョブ */ getScriptJob(jobId: string): Promise; /** * 台本行の一覧を取得する * * @param channelId - チャンネル ID * @param episodeId - エピソード ID * @returns 台本行の一覧 */ listScriptLines(channelId: string, episodeId: string): Promise; }