/**
 * Neotoma remote client for issue submission.
 *
 * Submits issues to a remote Neotoma instance (the operator's) using AAuth-signed
 * HTTP requests. Reuses the existing API client infrastructure with signWithCliAAuth
 * so the submitter's identity is cryptographically attributed.
 *
 * This is the primary submission transport for all issues (public and private).
 * GitHub is an optional pre-step for discoverability (public issues only).
 *
 * Outbound issue submission and message calls use the canonical `/issues/*`
 * paths. Thread status read-through uses `/api/issues/status` for hosted
 * deployments that route public API traffic under `/api`. Entity read-backs use
 * `GET /entities/{id}` (guest `access_token` query).
 */
import type { IssueVisibility } from "./types.js";
export interface RemoteSubmitResult {
    entity_ids: string[];
    conversation_id: string;
    issue_entity_id: string;
    access_token?: string;
}
export interface RemoteMessageResult {
    message_entity_id: string;
}
/**
 * Submit an issue to the remote Neotoma instance.
 */
export declare function submitIssueToRemote(params: {
    title: string;
    body: string;
    labels?: string[];
    visibility: IssueVisibility;
    githubUrl?: string;
    githubNumber?: number;
    author?: string;
    authorGithubId?: number;
    authorGithubType?: string;
    local_issue_id?: string;
    submission_timestamp?: string;
}): Promise<RemoteSubmitResult>;
/**
 * Add a message to an existing issue on the remote Neotoma instance.
 *
 * Prefer `issue_entity_id` (canonical on the target instance). When omitted, `githubIssueNumber`
 * must be set for GitHub-backed threads.
 */
export declare function addMessageToRemote(params: {
    body: string;
    githubIssueNumber?: number;
    issue_entity_id?: string;
    guest_access_token?: string;
    local_issue_id?: string;
    issue_title?: string;
    remote_conversation_id?: string;
}): Promise<RemoteMessageResult>;
/**
 * Check issue status on the remote Neotoma instance.
 */
export declare function getRemoteIssueStatus(params: {
    issueEntityId: string;
    accessToken?: string;
}): Promise<Record<string, unknown> | null>;
/**
 * Fetch issue status + thread messages from the remote operator (`POST /api/issues/status`).
 */
export declare function fetchRemoteIssueThread(params: {
    issueEntityId: string;
    accessToken?: string;
}): Promise<Record<string, unknown> | null>;
//# sourceMappingURL=neotoma_client.d.ts.map