import { ServiceType } from "@protobuf-ts/runtime-rpc";
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";
/**
 * @generated from protobuf message nimi.runtime.v1.ReadArtifactBytesRequest
 */
export interface ReadArtifactBytesRequest {
    /**
     * Runtime-owned, opaque, globally-unique artifact identity. Required.
     * Sourced from runtime emit events (e.g.
     * voice_playback_requested.audio_artifact_id,
     * lipsync_frame_batch.audio_artifact_id).
     *
     * @generated from protobuf field: string artifact_id = 1
     */
    artifactId: string;
}
/**
 * @generated from protobuf message nimi.runtime.v1.ReadArtifactBytesResponse
 */
export interface ReadArtifactBytesResponse {
    /**
     * Full artifact body. Inline-capped at 32 MiB (hard ceiling; larger
     * artifacts return ARTIFACT_TOO_LARGE).
     *
     * @generated from protobuf field: bytes bytes = 1
     */
    bytes: Uint8Array;
    /**
     * RFC-6838 media type. Required (must be present even if upstream
     * provider didn't declare one; runtime fills "application/octet-stream"
     * in that case but flags mime_inferred=true).
     *
     * @generated from protobuf field: string mime_type = 2
     */
    mimeType: string;
    /**
     * Artifact total size in bytes.
     *
     * @generated from protobuf field: int64 size_bytes = 3
     */
    sizeBytes: string;
    /**
     * True if mime_type was runtime-inferred rather than provider-declared.
     * Consumers may log/observe but typically still consume.
     *
     * @generated from protobuf field: bool mime_inferred = 4
     */
    mimeInferred: boolean;
}
declare class ReadArtifactBytesRequest$Type extends MessageType<ReadArtifactBytesRequest> {
    constructor();
    create(value?: PartialMessage<ReadArtifactBytesRequest>): ReadArtifactBytesRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ReadArtifactBytesRequest): ReadArtifactBytesRequest;
    internalBinaryWrite(message: ReadArtifactBytesRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.ReadArtifactBytesRequest
 */
export declare const ReadArtifactBytesRequest: ReadArtifactBytesRequest$Type;
declare class ReadArtifactBytesResponse$Type extends MessageType<ReadArtifactBytesResponse> {
    constructor();
    create(value?: PartialMessage<ReadArtifactBytesResponse>): ReadArtifactBytesResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ReadArtifactBytesResponse): ReadArtifactBytesResponse;
    internalBinaryWrite(message: ReadArtifactBytesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.ReadArtifactBytesResponse
 */
export declare const ReadArtifactBytesResponse: ReadArtifactBytesResponse$Type;
/**
 * @generated ServiceType for protobuf service nimi.runtime.v1.RuntimeArtifactService
 */
export declare const RuntimeArtifactService: ServiceType;
export {};
//# sourceMappingURL=artifact_service.d.ts.map