import { Response } from 'express';
import { AudioService } from './audio.service';
import { UpdateAudioItemDto } from './audio.dto';
import { IFullUser } from '../users/users.interface';
export declare class AudioController {
    private readonly audioService;
    constructor(audioService: AudioService);
    listModels(user: IFullUser): Promise<import("./audio.interface").ITranscriptionModelInfo[]>;
    usage(user: IFullUser): Promise<{
        monthlySpentUsd: number;
        monthlyCapUsd: number;
        remainingUsd: number;
        maxMinutesPerCall: number;
        periodStart: string;
        periodEnd: string;
    }>;
    list(user: IFullUser): Promise<Partial<import("./audio.model").AudioItem>[]>;
    getOne(user: IFullUser, id: string): Promise<import("./audio.model").AudioItemDocument>;
    update(user: IFullUser, id: string, dto: UpdateAudioItemDto): Promise<import("./audio.model").AudioItemDocument>;
    remove(user: IFullUser, id: string): Promise<{
        deleted: true;
    }>;
    streamFile(user: IFullUser, id: string, res: Response): Promise<void>;
    transcribe(user: IFullUser, audioFile: any, body: {
        model?: string;
        title?: string;
        language?: string;
    }): Promise<import("./audio.model").AudioItemDocument>;
}
