/**
 * Builders for constructing ExternalActor objects from GitHub API data.
 *
 * These are used by the issues ingest paths (submitIssue, addIssueMessage,
 * syncIssuesFromGitHub) to populate the request context with external actor
 * provenance before writes.
 */
import type { ExternalActor, ExternalActorVerifiedVia } from "../../crypto/agent_identity.js";
import type { GitHubComment, GitHubIssue } from "./types.js";
/**
 * Build an ExternalActor from a GitHub issue's `.user` field.
 * Returns null if the user field is absent (login required; id defaults to 0).
 */
export declare function buildExternalActorFromGithubIssue(issue: GitHubIssue | null | undefined, options?: {
    verified_via?: ExternalActorVerifiedVia;
    repository?: string;
}): ExternalActor | null;
/**
 * Build an ExternalActor from a GitHub comment's `.user` field.
 * Returns null if the user field is absent (login required; id defaults to 0).
 */
export declare function buildExternalActorFromGithubComment(comment: GitHubComment | null | undefined, issue: GitHubIssue | null | undefined, options?: {
    verified_via?: ExternalActorVerifiedVia;
    repository?: string;
}): ExternalActor | null;
/**
 * Build an ExternalActor from raw fields (useful for webhook payloads
 * or when the full GitHubIssue/Comment type is not available).
 */
export declare function buildExternalActor(params: {
    login: string;
    id: number;
    type?: string;
    verified_via?: ExternalActorVerifiedVia;
    delivery_id?: string;
    event_type?: string;
    repository?: string;
    event_id?: number;
    comment_id?: number;
}): ExternalActor;
//# sourceMappingURL=external_actor_builder.d.ts.map