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 { Ack } from "./common.js";
import { Struct } from "../../google/protobuf/struct.js";
import { Timestamp } from "../../google/protobuf/timestamp.js";
/**
 * @generated from protobuf message nimi.runtime.v1.VoiceReference
 */
export interface VoiceReference {
    /**
     * @generated from protobuf field: nimi.runtime.v1.VoiceReferenceKind kind = 1
     */
    kind: VoiceReferenceKind;
    /**
     * @generated from protobuf oneof: reference
     */
    reference: {
        oneofKind: "presetVoiceId";
        /**
         * @generated from protobuf field: string preset_voice_id = 2
         */
        presetVoiceId: string;
    } | {
        oneofKind: "voiceAssetId";
        /**
         * @generated from protobuf field: string voice_asset_id = 3
         */
        voiceAssetId: string;
    } | {
        oneofKind: "providerVoiceRef";
        /**
         * @generated from protobuf field: string provider_voice_ref = 4
         */
        providerVoiceRef: string;
    } | {
        oneofKind: undefined;
    };
}
/**
 * @generated from protobuf message nimi.runtime.v1.VoicePresetDescriptor
 */
export interface VoicePresetDescriptor {
    /**
     * @generated from protobuf field: string voice_id = 1
     */
    voiceId: string;
    /**
     * @generated from protobuf field: string name = 2
     */
    name: string;
    /**
     * @generated from protobuf field: string lang = 3
     */
    lang: string;
    /**
     * @generated from protobuf field: repeated string supported_langs = 4
     */
    supportedLangs: string[];
    /**
     * @generated from protobuf field: map<string, string> labels = 5
     */
    labels: {
        [key: string]: string;
    };
    /**
     * @generated from protobuf field: string category = 6
     */
    category: string;
    /**
     * @generated from protobuf field: string preview_audio_uri = 7
     */
    previewAudioUri: string;
}
/**
 * @generated from protobuf message nimi.runtime.v1.VoiceAsset
 */
export interface VoiceAsset {
    /**
     * @generated from protobuf field: string voice_asset_id = 1
     */
    voiceAssetId: string;
    /**
     * @generated from protobuf field: string app_id = 2
     */
    appId: string;
    /**
     * @generated from protobuf field: string subject_user_id = 3
     */
    subjectUserId: string;
    /**
     * @generated from protobuf field: nimi.runtime.v1.VoiceWorkflowType workflow_type = 4
     */
    workflowType: VoiceWorkflowType;
    /**
     * @generated from protobuf field: string provider = 5
     */
    provider: string;
    /**
     * @generated from protobuf field: string model_id = 6
     */
    modelId: string;
    /**
     * @generated from protobuf field: string target_model_id = 7
     */
    targetModelId: string;
    /**
     * @generated from protobuf field: string provider_voice_ref = 8
     */
    providerVoiceRef: string;
    /**
     * @generated from protobuf field: nimi.runtime.v1.VoiceAssetPersistence persistence = 9
     */
    persistence: VoiceAssetPersistence;
    /**
     * @generated from protobuf field: nimi.runtime.v1.VoiceAssetStatus status = 10
     */
    status: VoiceAssetStatus;
    /**
     * @generated from protobuf field: google.protobuf.Timestamp created_at = 11
     */
    createdAt?: Timestamp;
    /**
     * @generated from protobuf field: google.protobuf.Timestamp updated_at = 12
     */
    updatedAt?: Timestamp;
    /**
     * @generated from protobuf field: google.protobuf.Timestamp expires_at = 13
     */
    expiresAt?: Timestamp;
    /**
     * @generated from protobuf field: google.protobuf.Struct metadata = 14
     */
    metadata?: Struct;
}
/**
 * @generated from protobuf message nimi.runtime.v1.VoiceV2VInput
 */
export interface VoiceV2VInput {
    /**
     * @generated from protobuf field: bytes reference_audio_bytes = 1
     */
    referenceAudioBytes: Uint8Array;
    /**
     * @generated from protobuf field: string reference_audio_uri = 2
     */
    referenceAudioUri: string;
    /**
     * @generated from protobuf field: string reference_audio_mime = 3
     */
    referenceAudioMime: string;
    /**
     * @generated from protobuf field: repeated string language_hints = 4
     */
    languageHints: string[];
    /**
     * @generated from protobuf field: string preferred_name = 5
     */
    preferredName: string;
    /**
     * @generated from protobuf field: string text = 6
     */
    text: string;
}
/**
 * @generated from protobuf message nimi.runtime.v1.VoiceT2VInput
 */
export interface VoiceT2VInput {
    /**
     * @generated from protobuf field: string instruction_text = 1
     */
    instructionText: string;
    /**
     * @generated from protobuf field: string preview_text = 2
     */
    previewText: string;
    /**
     * @generated from protobuf field: string language = 3
     */
    language: string;
    /**
     * @generated from protobuf field: string preferred_name = 4
     */
    preferredName: string;
}
/**
 * @generated from protobuf message nimi.runtime.v1.GetVoiceAssetRequest
 */
export interface GetVoiceAssetRequest {
    /**
     * @generated from protobuf field: string voice_asset_id = 1
     */
    voiceAssetId: string;
}
/**
 * @generated from protobuf message nimi.runtime.v1.GetVoiceAssetResponse
 */
export interface GetVoiceAssetResponse {
    /**
     * @generated from protobuf field: nimi.runtime.v1.VoiceAsset asset = 1
     */
    asset?: VoiceAsset;
}
/**
 * @generated from protobuf message nimi.runtime.v1.ListVoiceAssetsRequest
 */
export interface ListVoiceAssetsRequest {
    /**
     * @generated from protobuf field: string app_id = 1
     */
    appId: string;
    /**
     * @generated from protobuf field: string subject_user_id = 2
     */
    subjectUserId: string;
    /**
     * @generated from protobuf field: string model_id = 3
     */
    modelId: string;
    /**
     * @generated from protobuf field: string target_model_id = 4
     */
    targetModelId: string;
    /**
     * @generated from protobuf field: nimi.runtime.v1.VoiceWorkflowType workflow_type = 5
     */
    workflowType: VoiceWorkflowType;
    /**
     * @generated from protobuf field: nimi.runtime.v1.VoiceAssetStatus status = 6
     */
    status: VoiceAssetStatus;
    /**
     * @generated from protobuf field: int32 page_size = 7
     */
    pageSize: number;
    /**
     * @generated from protobuf field: string page_token = 8
     */
    pageToken: string;
    /**
     * @generated from protobuf field: string connector_id = 9
     */
    connectorId: string;
}
/**
 * @generated from protobuf message nimi.runtime.v1.ListVoiceAssetsResponse
 */
export interface ListVoiceAssetsResponse {
    /**
     * @generated from protobuf field: repeated nimi.runtime.v1.VoiceAsset assets = 1
     */
    assets: VoiceAsset[];
    /**
     * @generated from protobuf field: string next_page_token = 2
     */
    nextPageToken: string;
}
/**
 * @generated from protobuf message nimi.runtime.v1.DeleteVoiceAssetRequest
 */
export interface DeleteVoiceAssetRequest {
    /**
     * @generated from protobuf field: string voice_asset_id = 1
     */
    voiceAssetId: string;
}
/**
 * @generated from protobuf message nimi.runtime.v1.DeleteVoiceAssetResponse
 */
export interface DeleteVoiceAssetResponse {
    /**
     * @generated from protobuf field: nimi.runtime.v1.Ack ack = 1
     */
    ack?: Ack;
}
/**
 * @generated from protobuf message nimi.runtime.v1.ListPresetVoicesRequest
 */
export interface ListPresetVoicesRequest {
    /**
     * @generated from protobuf field: string app_id = 1
     */
    appId: string;
    /**
     * @generated from protobuf field: string subject_user_id = 2
     */
    subjectUserId: string;
    /**
     * @generated from protobuf field: string model_id = 3
     */
    modelId: string;
    /**
     * @generated from protobuf field: string target_model_id = 4
     */
    targetModelId: string;
    /**
     * @generated from protobuf field: string connector_id = 5
     */
    connectorId: string;
}
/**
 * @generated from protobuf message nimi.runtime.v1.ListPresetVoicesResponse
 */
export interface ListPresetVoicesResponse {
    /**
     * @generated from protobuf field: repeated nimi.runtime.v1.VoicePresetDescriptor voices = 1
     */
    voices: VoicePresetDescriptor[];
    /**
     * @generated from protobuf field: string model_resolved = 2
     */
    modelResolved: string;
    /**
     * @generated from protobuf field: string trace_id = 3
     */
    traceId: string;
}
/**
 * @generated from protobuf enum nimi.runtime.v1.VoiceWorkflowType
 */
export declare enum VoiceWorkflowType {
    /**
     * @generated from protobuf enum value: VOICE_WORKFLOW_TYPE_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from protobuf enum value: VOICE_WORKFLOW_TYPE_VOICE_CLONE = 1;
     */
    VOICE_CLONE = 1,
    /**
     * @generated from protobuf enum value: VOICE_WORKFLOW_TYPE_VOICE_DESIGN = 2;
     */
    VOICE_DESIGN = 2
}
/**
 * @generated from protobuf enum nimi.runtime.v1.VoiceReferenceKind
 */
export declare enum VoiceReferenceKind {
    /**
     * @generated from protobuf enum value: VOICE_REFERENCE_KIND_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from protobuf enum value: VOICE_REFERENCE_KIND_PRESET = 1;
     */
    PRESET = 1,
    /**
     * @generated from protobuf enum value: VOICE_REFERENCE_KIND_VOICE_ASSET = 2;
     */
    VOICE_ASSET = 2,
    /**
     * @generated from protobuf enum value: VOICE_REFERENCE_KIND_PROVIDER_VOICE_REF = 3;
     */
    PROVIDER_VOICE_REF = 3
}
/**
 * @generated from protobuf enum nimi.runtime.v1.VoiceAssetPersistence
 */
export declare enum VoiceAssetPersistence {
    /**
     * @generated from protobuf enum value: VOICE_ASSET_PERSISTENCE_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from protobuf enum value: VOICE_ASSET_PERSISTENCE_PROVIDER_PERSISTENT = 1;
     */
    PROVIDER_PERSISTENT = 1,
    /**
     * @generated from protobuf enum value: VOICE_ASSET_PERSISTENCE_SESSION_EPHEMERAL = 2;
     */
    SESSION_EPHEMERAL = 2
}
/**
 * @generated from protobuf enum nimi.runtime.v1.VoiceAssetStatus
 */
export declare enum VoiceAssetStatus {
    /**
     * @generated from protobuf enum value: VOICE_ASSET_STATUS_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from protobuf enum value: VOICE_ASSET_STATUS_ACTIVE = 1;
     */
    ACTIVE = 1,
    /**
     * @generated from protobuf enum value: VOICE_ASSET_STATUS_EXPIRED = 2;
     */
    EXPIRED = 2,
    /**
     * @generated from protobuf enum value: VOICE_ASSET_STATUS_DELETED = 3;
     */
    DELETED = 3,
    /**
     * @generated from protobuf enum value: VOICE_ASSET_STATUS_FAILED = 4;
     */
    FAILED = 4
}
declare class VoiceReference$Type extends MessageType<VoiceReference> {
    constructor();
    create(value?: PartialMessage<VoiceReference>): VoiceReference;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: VoiceReference): VoiceReference;
    internalBinaryWrite(message: VoiceReference, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.VoiceReference
 */
export declare const VoiceReference: VoiceReference$Type;
declare class VoicePresetDescriptor$Type extends MessageType<VoicePresetDescriptor> {
    constructor();
    create(value?: PartialMessage<VoicePresetDescriptor>): VoicePresetDescriptor;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: VoicePresetDescriptor): VoicePresetDescriptor;
    private binaryReadMap5;
    internalBinaryWrite(message: VoicePresetDescriptor, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.VoicePresetDescriptor
 */
export declare const VoicePresetDescriptor: VoicePresetDescriptor$Type;
declare class VoiceAsset$Type extends MessageType<VoiceAsset> {
    constructor();
    create(value?: PartialMessage<VoiceAsset>): VoiceAsset;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: VoiceAsset): VoiceAsset;
    internalBinaryWrite(message: VoiceAsset, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.VoiceAsset
 */
export declare const VoiceAsset: VoiceAsset$Type;
declare class VoiceV2VInput$Type extends MessageType<VoiceV2VInput> {
    constructor();
    create(value?: PartialMessage<VoiceV2VInput>): VoiceV2VInput;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: VoiceV2VInput): VoiceV2VInput;
    internalBinaryWrite(message: VoiceV2VInput, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.VoiceV2VInput
 */
export declare const VoiceV2VInput: VoiceV2VInput$Type;
declare class VoiceT2VInput$Type extends MessageType<VoiceT2VInput> {
    constructor();
    create(value?: PartialMessage<VoiceT2VInput>): VoiceT2VInput;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: VoiceT2VInput): VoiceT2VInput;
    internalBinaryWrite(message: VoiceT2VInput, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.VoiceT2VInput
 */
export declare const VoiceT2VInput: VoiceT2VInput$Type;
declare class GetVoiceAssetRequest$Type extends MessageType<GetVoiceAssetRequest> {
    constructor();
    create(value?: PartialMessage<GetVoiceAssetRequest>): GetVoiceAssetRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetVoiceAssetRequest): GetVoiceAssetRequest;
    internalBinaryWrite(message: GetVoiceAssetRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.GetVoiceAssetRequest
 */
export declare const GetVoiceAssetRequest: GetVoiceAssetRequest$Type;
declare class GetVoiceAssetResponse$Type extends MessageType<GetVoiceAssetResponse> {
    constructor();
    create(value?: PartialMessage<GetVoiceAssetResponse>): GetVoiceAssetResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetVoiceAssetResponse): GetVoiceAssetResponse;
    internalBinaryWrite(message: GetVoiceAssetResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.GetVoiceAssetResponse
 */
export declare const GetVoiceAssetResponse: GetVoiceAssetResponse$Type;
declare class ListVoiceAssetsRequest$Type extends MessageType<ListVoiceAssetsRequest> {
    constructor();
    create(value?: PartialMessage<ListVoiceAssetsRequest>): ListVoiceAssetsRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListVoiceAssetsRequest): ListVoiceAssetsRequest;
    internalBinaryWrite(message: ListVoiceAssetsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.ListVoiceAssetsRequest
 */
export declare const ListVoiceAssetsRequest: ListVoiceAssetsRequest$Type;
declare class ListVoiceAssetsResponse$Type extends MessageType<ListVoiceAssetsResponse> {
    constructor();
    create(value?: PartialMessage<ListVoiceAssetsResponse>): ListVoiceAssetsResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListVoiceAssetsResponse): ListVoiceAssetsResponse;
    internalBinaryWrite(message: ListVoiceAssetsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.ListVoiceAssetsResponse
 */
export declare const ListVoiceAssetsResponse: ListVoiceAssetsResponse$Type;
declare class DeleteVoiceAssetRequest$Type extends MessageType<DeleteVoiceAssetRequest> {
    constructor();
    create(value?: PartialMessage<DeleteVoiceAssetRequest>): DeleteVoiceAssetRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteVoiceAssetRequest): DeleteVoiceAssetRequest;
    internalBinaryWrite(message: DeleteVoiceAssetRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.DeleteVoiceAssetRequest
 */
export declare const DeleteVoiceAssetRequest: DeleteVoiceAssetRequest$Type;
declare class DeleteVoiceAssetResponse$Type extends MessageType<DeleteVoiceAssetResponse> {
    constructor();
    create(value?: PartialMessage<DeleteVoiceAssetResponse>): DeleteVoiceAssetResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteVoiceAssetResponse): DeleteVoiceAssetResponse;
    internalBinaryWrite(message: DeleteVoiceAssetResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.DeleteVoiceAssetResponse
 */
export declare const DeleteVoiceAssetResponse: DeleteVoiceAssetResponse$Type;
declare class ListPresetVoicesRequest$Type extends MessageType<ListPresetVoicesRequest> {
    constructor();
    create(value?: PartialMessage<ListPresetVoicesRequest>): ListPresetVoicesRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListPresetVoicesRequest): ListPresetVoicesRequest;
    internalBinaryWrite(message: ListPresetVoicesRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.ListPresetVoicesRequest
 */
export declare const ListPresetVoicesRequest: ListPresetVoicesRequest$Type;
declare class ListPresetVoicesResponse$Type extends MessageType<ListPresetVoicesResponse> {
    constructor();
    create(value?: PartialMessage<ListPresetVoicesResponse>): ListPresetVoicesResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListPresetVoicesResponse): ListPresetVoicesResponse;
    internalBinaryWrite(message: ListPresetVoicesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.ListPresetVoicesResponse
 */
export declare const ListPresetVoicesResponse: ListPresetVoicesResponse$Type;
export {};
//# sourceMappingURL=voice.d.ts.map