namespace Journal.Core.Dtos;

public sealed record SpeechDeviceDto(
    int Index,
    string Name);

public sealed record SpeechDevicesResultDto(
    IReadOnlyList<SpeechDeviceDto> Devices,
    string? Warning = null);

public sealed record SpeechTranscribeRequestDto(
    string? AudioBase64 = null,
    string? Engine = null,
    string? WhisperModel = null,
    string? Text = null,
    int? SimulateDelayMs = null);

public sealed record SpeechTranscribeResultDto(
    string Text,
    string Engine,
    string? Warning = null);

public sealed record S2TStartResultDto(
    bool Running,
    string Status,
    string? Warning = null);

public sealed record S2TStopResultDto(
    bool Running,
    string Status,
    string? Warning = null);

public sealed record S2TPollResultDto(
    IReadOnlyList<string> Items,
    bool Running,
    string Status,
    string? Warning = null);
