import { specEndpoints } from './catalog.js'; import type { FetchFunction, ToolResult, TweetclawParams } from '../types.js'; declare const EXECUTE_DESCRIPTION = "Call one Xquik API endpoint from TweetClaw's catalog.\n\nUse \"explore\" first. Then provide:\n- path: concrete /api/v1/... path\n- method: GET, POST, PATCH, PUT, or DELETE\n- query: query parameters as an object\n- body: JSON request body\n- idempotencyKey: unique key required for X write actions\n\nTweetClaw injects auth. Never pass keys, passwords, cookies, or TOTP secrets.\n\nRules:\n- Only catalog-listed /api/v1 paths on the configured Xquik base URL can run.\n- Use dashboard.xquik.com for accounts, API keys, billing, and support.\n- \"Tweet this\" uses POST /api/v1/x/tweets. \"Draft this\" uses the compose flow.\n- Show the exact endpoint and payload before approval. Write-like calls require approval.\n- Create one idempotency key per X write. Reuse it only for an identical retry.\n- MPP mode permits only MPP-supported reads.\n- Use /api/v1/radar for current events.\n\nExample: send a tweet\n{\n \"path\": \"/api/v1/x/tweets\",\n \"method\": \"POST\",\n \"idempotencyKey\": \"post-2026-07-22-001\",\n \"body\": { \"account\": \"@myaccount\", \"text\": \"Hello world!\" }\n}\n\nExample: search tweets\n{\n \"path\": \"/api/v1/x/tweets/search\",\n \"method\": \"GET\",\n \"query\": { \"q\": \"AI agents\", \"limit\": 50 }\n}"; interface TweetclawOptions { readonly baseUrl: string; readonly credential: string; readonly fetchFunction?: FetchFunction | undefined; readonly mppMode?: boolean | undefined; readonly params: Readonly; readonly timeoutMs?: number | undefined; } declare function handleTweetclaw(options: Readonly): Promise; export { EXECUTE_DESCRIPTION, handleTweetclaw, specEndpoints };