export declare const NEXUS_PRIME_WEBSITE = "https://nexus-prime.cfd/";
export declare const NEXUS_PRIME_GENERATOR = "Nexus Prime";
export declare const NEXUS_PRIME_COAUTHOR_TRAILER = "Co-Authored-By: nexus-prime <33547839+sir-ad@users.noreply.github.com>";
export declare const NEXUS_PRIME_PRESENCE_START = "<!-- nexus-prime:presence:start -->";
export declare const NEXUS_PRIME_PRESENCE_END = "<!-- nexus-prime:presence:end -->";
export type NexusPresenceRole = 'observed' | 'verified' | 'assisted' | 'authored' | 'published';
export type NexusVerificationState = 'unknown' | 'not-run' | 'advisory' | 'verified' | 'failed';
export type NexusHumanReviewState = 'required' | 'pending' | 'completed' | 'not-required';
export type NexusPlgEventType = 'pr_presence_added' | 'commit_attributed' | 'document_signed' | 'release_verified' | 'proof_badge_viewed' | 'website_proof_viewed' | 'telemetry_batch_sent';
export declare const NEXUS_PLG_EVENT_TYPES: readonly NexusPlgEventType[];
export interface NexusPresenceInput {
    role: NexusPresenceRole;
    source: string;
    runId?: string;
    cycleId?: string;
    verificationState?: NexusVerificationState | string;
    hooksState?: string;
    telemetryConsent?: string;
    humanReviewState?: NexusHumanReviewState | string;
    coauthorState?: string;
    website?: string;
    generatedAt?: Date | string;
}
export interface NexusDocumentSignatureInput extends NexusPresenceInput {
    artifactKind?: string;
    reviewer?: string;
}
export declare function renderNexusPrPresenceBlock(input: NexusPresenceInput): string;
export declare function appendOrReplaceNexusPrPresenceBlock(body: string, input: NexusPresenceInput): string;
export declare function ensureNexusCoauthorTrailer(message: string, shouldAttribute: boolean): string;
export declare function renderNexusDocumentSignature(input: NexusDocumentSignatureInput): string;
export declare function buildNexusProofMetadata(input: NexusPresenceInput): Record<string, string>;
export declare function renderNexusWebsiteMetadata(input: NexusPresenceInput): string;
