import type { RenderFramesOptions, RenderMediaOptions, RenderStillOptions } from '@remotion/renderer';
import type { RenderDefaults } from '@remotion/studio-shared';
import type { renderMediaOnWeb } from '@remotion/web-renderer';
type RenderMode = 'still' | 'video' | 'audio' | 'sequence';
export declare const getNpmRemotionCommandPrefix: (version: string) => string;
export declare const normalizeServeUrlForRenderCommand: ({ locationHref, compositionId, }: {
    locationHref: string;
    compositionId: string;
}) => string;
type StrictRequired<T> = {
    [K in keyof T]-?: Exclude<T[K], undefined>;
};
type RenderMediaCommandOptions = Omit<StrictRequired<Pick<RenderMediaOptions, 'codec' | 'crf' | 'concurrency' | 'disallowParallelEncoding' | 'muted' | 'enforceAudioTrack' | 'everyNthFrame' | 'numberOfGifLoops' | 'colorSpace' | 'scale' | 'logLevel' | 'repro' | 'metadata' | 'jpegQuality' | 'pixelFormat' | 'proResProfile' | 'x264Preset' | 'audioCodec' | 'forSeamlessAacConcatenation' | 'separateAudioTo' | 'hardwareAcceleration' | 'chromeMode' | 'offthreadVideoCacheSizeInBytes' | 'offthreadVideoThreads' | 'mediaCacheSizeInBytes' | 'audioBitrate' | 'videoBitrate' | 'encodingMaxRate' | 'encodingBufferSize'>>, 'audioBitrate' | 'videoBitrate' | 'encodingMaxRate' | 'encodingBufferSize' | 'jpegQuality' | 'proResProfile'> & {
    audioBitrate: string | null;
    videoBitrate: string | null;
    encodingMaxRate: string | null;
    encodingBufferSize: string | null;
    jpegQuality: Exclude<RenderMediaOptions['jpegQuality'], undefined> | null;
    proResProfile: Exclude<RenderMediaOptions['proResProfile'], undefined> | null;
};
type RenderStillCommandOptions = StrictRequired<Pick<RenderStillOptions, 'frame'>>;
type RenderFramesSharedOptions = StrictRequired<Pick<RenderFramesOptions, 'concurrency' | 'everyNthFrame' | 'scale' | 'logLevel'>>;
type RenderMediaOnWebInput = Parameters<typeof renderMediaOnWeb>[0];
type CrossRendererOptions = StrictRequired<Pick<RenderMediaOnWebInput, 'muted' | 'scale' | 'logLevel'>>;
type ReadOnlyStudioRenderCommandInput = RenderMediaCommandOptions & RenderStillCommandOptions & RenderFramesSharedOptions & CrossRendererOptions & {
    remotionVersion: string;
    locationHref: string;
    compositionId: string;
    outName: string;
    renderMode: RenderMode;
    renderDefaults: RenderDefaults;
    durationInFrames: number;
    startFrame: number;
    endFrame: number;
    stillImageFormat: RenderDefaults['stillImageFormat'];
    sequenceImageFormat: RenderDefaults['videoImageFormat'];
    videoImageFormat: RenderDefaults['videoImageFormat'];
    delayRenderTimeout: number;
    headless: boolean;
    disableWebSecurity: boolean;
    ignoreCertificateErrors: boolean;
    gl: RenderDefaults['openGlRenderer'];
    userAgent: string | null;
    multiProcessOnLinux: boolean;
    darkMode: boolean;
    beepOnFinish: boolean;
    envVariables: Record<string, string>;
    inputProps: Record<string, unknown>;
};
export declare const makeReadOnlyStudioRenderCommand: ({ remotionVersion, locationHref, compositionId, outName, renderMode, renderDefaults, durationInFrames, concurrency, frame, startFrame, endFrame, stillImageFormat, sequenceImageFormat, videoImageFormat, jpegQuality, codec, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, crf, videoBitrate, audioBitrate, audioCodec, everyNthFrame, numberOfGifLoops, disallowParallelEncoding, encodingBufferSize, encodingMaxRate, forSeamlessAacConcatenation, separateAudioTo, colorSpace, scale, logLevel, delayRenderTimeout, hardwareAcceleration, chromeMode, headless, disableWebSecurity, ignoreCertificateErrors, gl, userAgent, multiProcessOnLinux, darkMode, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, mediaCacheSizeInBytes, beepOnFinish, repro, metadata, envVariables, inputProps, }: ReadOnlyStudioRenderCommandInput) => string;
export {};
