export function registerMessageThreadCommands(message, helpers) {
    const thread = message.command("thread").description("Thread actions");
    helpers
        .withMessageBase(helpers.withRequiredMessageTarget(thread
        .command("create")
        .description("Create a thread")
        .requiredOption("--thread-name <name>", "Thread name")))
        .option("--message-id <id>", "Message id (optional)")
        .option("-m, --message <text>", "Initial thread message text")
        .option("--auto-archive-min <n>", "Thread auto-archive minutes")
        .action(async (opts) => {
        await helpers.runMessageAction("thread-create", opts);
    });
    helpers
        .withMessageBase(thread
        .command("list")
        .description("List threads")
        .requiredOption("--guild-id <id>", "Guild id"))
        .option("--channel-id <id>", "Channel id")
        .option("--include-archived", "Include archived threads", false)
        .option("--before <id>", "Read/search before id")
        .option("--limit <n>", "Result limit")
        .action(async (opts) => {
        await helpers.runMessageAction("thread-list", opts);
    });
    helpers
        .withMessageBase(helpers.withRequiredMessageTarget(thread
        .command("reply")
        .description("Reply in a thread")
        .requiredOption("-m, --message <text>", "Message body")))
        .option("--media <path-or-url>", "Attach media (image/audio/video/document). Accepts local paths or URLs.")
        .option("--reply-to <id>", "Reply-to message id")
        .action(async (opts) => {
        await helpers.runMessageAction("thread-reply", opts);
    });
}
