import type { RenderSceneObject, RenderProfileObject } from '../../common/index.ts';
export interface RenderDomainRecords {
    ":render.stats?": RenderDomainStatsRecord;
    ":render.query?": RenderDomainQueryRecord;
    ":render.result?": RenderDomainResultRecord;
    ":render.schedulers?": RenderDomainSchedulersRecord;
}
export interface RenderDomainStatsRecord {
    progress?: number | null;
    error?: Array<Record<string, unknown>> | null;
    status?: string | string[] | null;
    lag?: number | null;
    available?: boolean | null;
    toobusy?: boolean | null;
    cpuAvailable?: boolean | null;
    cpuComputeAvailable?: number | null;
    cpuComputeReservation?: number | null;
    cpuCompute?: number | null;
    cpuComputeLimit?: number | null;
    cpuComputeTotal?: number | null;
    cpuComputeValue?: number | null;
    cpuMemoryAvailable?: number | null;
    cpuMemoryReservation?: number | null;
    cpuMemory?: number | null;
    cpuMemoryLimit?: number | null;
    cpuMemoryValue?: number | null;
    cpuMemoryTotal?: number | null;
    gpuType?: string | null;
    gpuAvailable?: boolean | null;
    gpuComputeAvailable?: number | null;
    gpuComputeReservation?: number | null;
    gpuCompute?: number | null;
    gpuComputeLimit?: number | null;
    gpuComputeValue?: number | null;
    gpuComputeTotal?: number | null;
    gpuMemoryAvailable?: number | null;
    gpuMemoryReservation?: number | null;
    gpuMemory?: number | null;
    gpuMemoryLimit?: number | null;
    gpuMemoryValue?: number | null;
    gpuMemoryTotal?: number | null;
    gpuQueueAvailable?: number | null;
    gpuQueueReservation?: number | null;
    gpuQueueLimit?: number | null;
    gpuQueueValue?: number | null;
    gpuQueueTotal?: number | null;
    gpuEncoder?: number | null;
    gpuEncoderLimit?: number | null;
    gpuEncoderValue?: number | null;
    gpuEncoderTotal?: number | null;
    gpuDecoder?: number | null;
    gpuDecoderLimit?: number | null;
    gpuDecoderValue?: number | null;
    gpuDecoderTotal?: number | null;
    netAvailable?: boolean | null;
    netTransferAvailable?: number | null;
    netTransferReservation?: number | null;
    netTransfer?: number | null;
    netTransferLimit?: number | null;
    netTransferValue?: number | null;
    netTransferTotal?: number | null;
    cpu?: number | null;
    memory?: number | null;
    activeCount?: number | null;
    totalCount?: number | null;
    gpuStat?: RenderDomainGpuStats | null;
    cpuStat?: RenderDomainCpuStats | null;
    netStat?: RenderDomainNetStats | null;
    limits?: unknown;
    taskset?: string;
    end?: number | null;
    duration?: number | null;
}
export interface RenderDomainGpuStats {
    [key: string]: unknown;
}
export interface RenderDomainCpuStats {
    cpu: {
        idle: number;
        total: number;
    };
    mem: {
        used: number;
        total: number;
        arcstats: {
            size: number | null;
        };
        meminfo: {
            [key: string]: unknown;
        };
    };
}
export interface RenderDomainNetStats {
    used: number;
    type?: string;
    dev?: {
        used: number;
    };
}
export interface RenderDomainQueryRecord {
    type: string;
    title: string;
    parent?: string;
    description: {
        scene: RenderSceneObject;
        profile: RenderProfileObject;
    };
}
export interface RenderDomainResultRecord {
    id?: string;
    url?: string;
    files?: string[];
    refs?: Array<{
        file?: string;
        offset?: number;
        start?: number | null;
        end?: number | null;
    }>;
    timecode?: number | null;
    live?: boolean | null;
    result?: unknown;
    error?: null | Record<string, unknown> | Array<Record<string, unknown>>;
    extension?: string;
    extensions?: string[];
    type?: string;
    format?: string;
    formatName?: string;
    mimeType?: string;
    duration?: number;
    estimatedDuration?: number | null;
    originalDuration?: number | null;
    video?: {
        codec?: string;
        width?: number;
        height?: number;
        interlaced?: boolean;
        alpha?: boolean | string;
        sar?: string | null;
        dar?: string;
        sampleAspectRatio?: string;
        sampleDisplayRatio?: string;
        displayAspectRatio?: string;
        framerate?: number;
        format?: string;
        encoder?: string;
        codecName?: string;
    } | null;
    audio?: {
        codec?: string;
        codecName?: string;
        format?: string;
        channels?: number;
        samplerate?: number;
        peaksPerSecond?: number;
        streams?: number;
        encoder?: string;
    } | null;
    language?: string;
    transcribe?: {
        engine?: string;
        version?: string;
        language?: string;
    } | null;
    pan?: number[];
    translate?: {
        engine?: string;
        source?: string;
        target?: string;
    } | null;
}
export interface RenderDomainSchedulersRecord {
    [key: string]: number[];
}
