/**
 * Execute a task using Claude Code CLI.
 *
 * Spawns `claude -p "<prompt>"` as a subprocess with a scoped environment.
 * The API key is resolved from the auth context (delegation) or system env.
 * Output is returned as structured JSON when possible.
 *
 * Authentication by proxy:
 *   When called from a workflow with `_auth.userId`, the delegation token
 *   identifies which user initiated the request. The activity uses this to:
 *   - Log the requesting user for audit
 *   - Scope the working directory (future: per-user sandboxing)
 *   - Resolve the correct API key
 */
export declare function executeTask(args: {
    prompt: string;
    working_directory?: string;
    allowed_tools?: string[];
    max_turns?: number;
    model?: string;
    system_prompt?: string;
    timeout_ms?: number;
    api_key?: string;
    credential_label?: string;
    _auth?: {
        userId?: string;
        token?: string;
    };
}): Promise<{
    result: string;
    session_id?: string;
    cost_usd?: number;
    duration_ms: number;
    is_error: boolean;
    user_id?: string;
}>;
/**
 * Check whether Claude Code CLI is installed and an API key is available.
 *
 * Returns availability status and version. Useful for workflows that need
 * to decide whether to route to Claude Code or fall back to another tool.
 */
export declare function checkAvailability(args?: {
    _auth?: {
        userId?: string;
        token?: string;
    };
}): Promise<{
    available: boolean;
    version?: string;
    has_api_key: boolean;
    has_oauth_session: boolean;
    auth_method?: string;
    user_id?: string;
    error?: string;
}>;
