import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { IBinaryWriter } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { IBinaryReader } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
import { Timestamp } from "../../google/protobuf/timestamp.js";
import { AgentRequestContext } from "./agent_common.js";
/**
 * @generated from protobuf message nimi.runtime.v1.CreateRealmGroupMessageCandidateRequest
 */
export interface CreateRealmGroupMessageCandidateRequest {
    /**
     * @generated from protobuf field: nimi.runtime.v1.AgentRequestContext context = 1
     */
    context?: AgentRequestContext;
    /**
     * @generated from protobuf field: string realm_group_thread_id = 2
     */
    realmGroupThreadId: string;
    /**
     * @generated from protobuf field: string realm_group_agent_slot_id = 3
     */
    realmGroupAgentSlotId: string;
    /**
     * @generated from protobuf field: string owner_user_id = 4
     */
    ownerUserId: string;
    /**
     * @generated from protobuf field: string realm_agent_id = 5
     */
    realmAgentId: string;
    /**
     * @generated from protobuf field: string local_agent_ref = 6
     */
    localAgentRef: string;
    /**
     * @generated from protobuf field: string trigger_ref = 7
     */
    triggerRef: string;
    /**
     * @generated from protobuf field: string membership_snapshot_ref = 8
     */
    membershipSnapshotRef: string;
    /**
     * @generated from protobuf field: string read_cursor_ref = 9
     */
    readCursorRef: string;
    /**
     * @generated from protobuf field: string reply_target_ref = 10
     */
    replyTargetRef: string;
    /**
     * @generated from protobuf field: string room_orchestration_ref = 11
     */
    roomOrchestrationRef: string;
    /**
     * @generated from protobuf field: string idempotency_key = 12
     */
    idempotencyKey: string;
    /**
     * @generated from protobuf field: map<string, string> context_refs = 13
     */
    contextRefs: {
        [key: string]: string;
    };
}
/**
 * @generated from protobuf message nimi.runtime.v1.RealmGroupMessageCandidateCommitHandle
 */
export interface RealmGroupMessageCandidateCommitHandle {
    /**
     * @generated from protobuf field: string candidate_id = 1
     */
    candidateId: string;
    /**
     * @generated from protobuf field: string candidate_kind = 2
     */
    candidateKind: string;
    /**
     * @generated from protobuf field: string candidate_evidence_ref = 3
     */
    candidateEvidenceRef: string;
    /**
     * @generated from protobuf field: string evidence_hash = 4
     */
    evidenceHash: string;
    /**
     * @generated from protobuf field: string runtime_trace_ref = 5
     */
    runtimeTraceRef: string;
    /**
     * @generated from protobuf field: string realm_group_thread_id = 6
     */
    realmGroupThreadId: string;
    /**
     * @generated from protobuf field: string realm_group_agent_slot_id = 7
     */
    realmGroupAgentSlotId: string;
    /**
     * @generated from protobuf field: string owner_user_id = 8
     */
    ownerUserId: string;
    /**
     * @generated from protobuf field: string realm_agent_id = 9
     */
    realmAgentId: string;
    /**
     * @generated from protobuf field: string local_agent_ref = 10
     */
    localAgentRef: string;
    /**
     * @generated from protobuf field: string trigger_ref = 11
     */
    triggerRef: string;
    /**
     * @generated from protobuf field: string output_candidate_ref = 12
     */
    outputCandidateRef: string;
    /**
     * @generated from protobuf field: string audit_lineage_ref = 13
     */
    auditLineageRef: string;
    /**
     * @generated from protobuf field: string policy_verdict_ref = 14
     */
    policyVerdictRef: string;
    /**
     * @generated from protobuf field: google.protobuf.Timestamp created_at = 15
     */
    createdAt?: Timestamp;
    /**
     * @generated from protobuf field: google.protobuf.Timestamp expires_at = 16
     */
    expiresAt?: Timestamp;
    /**
     * @generated from protobuf field: nimi.runtime.v1.RealmGroupMessageCandidateCommitDisposition commit_disposition = 17
     */
    commitDisposition: RealmGroupMessageCandidateCommitDisposition;
}
/**
 * @generated from protobuf message nimi.runtime.v1.CreateRealmGroupMessageCandidateResponse
 */
export interface CreateRealmGroupMessageCandidateResponse {
    /**
     * @generated from protobuf field: nimi.runtime.v1.RealmGroupMessageCandidateCommitHandle candidate = 1
     */
    candidate?: RealmGroupMessageCandidateCommitHandle;
}
/**
 * @generated from protobuf message nimi.runtime.v1.GetRealmGroupMessageCandidateEvidenceRequest
 */
export interface GetRealmGroupMessageCandidateEvidenceRequest {
    /**
     * @generated from protobuf field: nimi.runtime.v1.AgentRequestContext context = 1
     */
    context?: AgentRequestContext;
    /**
     * @generated from protobuf field: string candidate_id = 2
     */
    candidateId: string;
    /**
     * @generated from protobuf field: string candidate_kind = 3
     */
    candidateKind: string;
    /**
     * @generated from protobuf field: string candidate_evidence_ref = 4
     */
    candidateEvidenceRef: string;
    /**
     * @generated from protobuf field: string evidence_hash = 5
     */
    evidenceHash: string;
    /**
     * @generated from protobuf field: string runtime_trace_ref = 6
     */
    runtimeTraceRef: string;
    /**
     * @generated from protobuf field: string expected_realm_group_agent_slot_id = 7
     */
    expectedRealmGroupAgentSlotId: string;
    /**
     * @generated from protobuf field: string expected_local_agent_ref = 8
     */
    expectedLocalAgentRef: string;
    /**
     * @generated from protobuf field: string trigger_ref = 9
     */
    triggerRef: string;
    /**
     * @generated from protobuf field: string target_realm_group_thread_id = 10
     */
    targetRealmGroupThreadId: string;
}
/**
 * @generated from protobuf message nimi.runtime.v1.RealmGroupMessageCandidateEvidence
 */
export interface RealmGroupMessageCandidateEvidence {
    /**
     * @generated from protobuf field: string candidate_id = 1
     */
    candidateId: string;
    /**
     * @generated from protobuf field: string candidate_kind = 2
     */
    candidateKind: string;
    /**
     * @generated from protobuf field: string realm_group_thread_id = 3
     */
    realmGroupThreadId: string;
    /**
     * @generated from protobuf field: string realm_group_agent_slot_id = 4
     */
    realmGroupAgentSlotId: string;
    /**
     * @generated from protobuf field: string owner_user_id = 5
     */
    ownerUserId: string;
    /**
     * @generated from protobuf field: string realm_agent_id = 6
     */
    realmAgentId: string;
    /**
     * @generated from protobuf field: string local_agent_ref = 7
     */
    localAgentRef: string;
    /**
     * @generated from protobuf field: string trigger_ref = 8
     */
    triggerRef: string;
    /**
     * @generated from protobuf field: string output_candidate_ref = 9
     */
    outputCandidateRef: string;
    /**
     * @generated from protobuf field: string evidence_hash = 10
     */
    evidenceHash: string;
    /**
     * @generated from protobuf field: string runtime_trace_ref = 11
     */
    runtimeTraceRef: string;
    /**
     * @generated from protobuf field: string audit_lineage_ref = 12
     */
    auditLineageRef: string;
    /**
     * @generated from protobuf field: string policy_verdict_ref = 13
     */
    policyVerdictRef: string;
    /**
     * @generated from protobuf field: google.protobuf.Timestamp created_at = 14
     */
    createdAt?: Timestamp;
    /**
     * @generated from protobuf field: google.protobuf.Timestamp expires_at = 15
     */
    expiresAt?: Timestamp;
    /**
     * @generated from protobuf field: nimi.runtime.v1.RealmGroupMessageCandidateCommitDisposition commit_disposition = 16
     */
    commitDisposition: RealmGroupMessageCandidateCommitDisposition;
    /**
     * @generated from protobuf field: string message_type = 17
     */
    messageType: string;
    /**
     * @generated from protobuf field: string body = 18
     */
    body: string;
    /**
     * @generated from protobuf field: string body_hash = 19
     */
    bodyHash: string;
    /**
     * @generated from protobuf field: string refusal_code = 20
     */
    refusalCode: string;
    /**
     * @generated from protobuf field: string refusal_reason = 21
     */
    refusalReason: string;
    /**
     * @generated from protobuf field: string refusal_hash = 22
     */
    refusalHash: string;
}
/**
 * @generated from protobuf message nimi.runtime.v1.GetRealmGroupMessageCandidateEvidenceResponse
 */
export interface GetRealmGroupMessageCandidateEvidenceResponse {
    /**
     * @generated from protobuf field: nimi.runtime.v1.RealmGroupMessageCandidateEvidence evidence = 1
     */
    evidence?: RealmGroupMessageCandidateEvidence;
}
/**
 * @generated from protobuf enum nimi.runtime.v1.RealmGroupMessageCandidateCommitDisposition
 */
export declare enum RealmGroupMessageCandidateCommitDisposition {
    /**
     * @generated from protobuf enum value: REALM_GROUP_MESSAGE_CANDIDATE_COMMIT_DISPOSITION_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from protobuf enum value: REALM_GROUP_MESSAGE_CANDIDATE_COMMIT_DISPOSITION_MESSAGE_CANDIDATE = 1;
     */
    MESSAGE_CANDIDATE = 1,
    /**
     * @generated from protobuf enum value: REALM_GROUP_MESSAGE_CANDIDATE_COMMIT_DISPOSITION_REFUSAL_CANDIDATE = 2;
     */
    REFUSAL_CANDIDATE = 2
}
declare class CreateRealmGroupMessageCandidateRequest$Type extends MessageType<CreateRealmGroupMessageCandidateRequest> {
    constructor();
    create(value?: PartialMessage<CreateRealmGroupMessageCandidateRequest>): CreateRealmGroupMessageCandidateRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateRealmGroupMessageCandidateRequest): CreateRealmGroupMessageCandidateRequest;
    private binaryReadMap13;
    internalBinaryWrite(message: CreateRealmGroupMessageCandidateRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.CreateRealmGroupMessageCandidateRequest
 */
export declare const CreateRealmGroupMessageCandidateRequest: CreateRealmGroupMessageCandidateRequest$Type;
declare class RealmGroupMessageCandidateCommitHandle$Type extends MessageType<RealmGroupMessageCandidateCommitHandle> {
    constructor();
    create(value?: PartialMessage<RealmGroupMessageCandidateCommitHandle>): RealmGroupMessageCandidateCommitHandle;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: RealmGroupMessageCandidateCommitHandle): RealmGroupMessageCandidateCommitHandle;
    internalBinaryWrite(message: RealmGroupMessageCandidateCommitHandle, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.RealmGroupMessageCandidateCommitHandle
 */
export declare const RealmGroupMessageCandidateCommitHandle: RealmGroupMessageCandidateCommitHandle$Type;
declare class CreateRealmGroupMessageCandidateResponse$Type extends MessageType<CreateRealmGroupMessageCandidateResponse> {
    constructor();
    create(value?: PartialMessage<CreateRealmGroupMessageCandidateResponse>): CreateRealmGroupMessageCandidateResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateRealmGroupMessageCandidateResponse): CreateRealmGroupMessageCandidateResponse;
    internalBinaryWrite(message: CreateRealmGroupMessageCandidateResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.CreateRealmGroupMessageCandidateResponse
 */
export declare const CreateRealmGroupMessageCandidateResponse: CreateRealmGroupMessageCandidateResponse$Type;
declare class GetRealmGroupMessageCandidateEvidenceRequest$Type extends MessageType<GetRealmGroupMessageCandidateEvidenceRequest> {
    constructor();
    create(value?: PartialMessage<GetRealmGroupMessageCandidateEvidenceRequest>): GetRealmGroupMessageCandidateEvidenceRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetRealmGroupMessageCandidateEvidenceRequest): GetRealmGroupMessageCandidateEvidenceRequest;
    internalBinaryWrite(message: GetRealmGroupMessageCandidateEvidenceRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.GetRealmGroupMessageCandidateEvidenceRequest
 */
export declare const GetRealmGroupMessageCandidateEvidenceRequest: GetRealmGroupMessageCandidateEvidenceRequest$Type;
declare class RealmGroupMessageCandidateEvidence$Type extends MessageType<RealmGroupMessageCandidateEvidence> {
    constructor();
    create(value?: PartialMessage<RealmGroupMessageCandidateEvidence>): RealmGroupMessageCandidateEvidence;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: RealmGroupMessageCandidateEvidence): RealmGroupMessageCandidateEvidence;
    internalBinaryWrite(message: RealmGroupMessageCandidateEvidence, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.RealmGroupMessageCandidateEvidence
 */
export declare const RealmGroupMessageCandidateEvidence: RealmGroupMessageCandidateEvidence$Type;
declare class GetRealmGroupMessageCandidateEvidenceResponse$Type extends MessageType<GetRealmGroupMessageCandidateEvidenceResponse> {
    constructor();
    create(value?: PartialMessage<GetRealmGroupMessageCandidateEvidenceResponse>): GetRealmGroupMessageCandidateEvidenceResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetRealmGroupMessageCandidateEvidenceResponse): GetRealmGroupMessageCandidateEvidenceResponse;
    internalBinaryWrite(message: GetRealmGroupMessageCandidateEvidenceResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.GetRealmGroupMessageCandidateEvidenceResponse
 */
export declare const GetRealmGroupMessageCandidateEvidenceResponse: GetRealmGroupMessageCandidateEvidenceResponse$Type;
export {};
//# sourceMappingURL=agent_group_message_candidate.d.ts.map