/// <reference types="react" />
import { LooseAnyComponent } from './any-component';
import { CompProps } from './Composition';
import { CompositionManagerContext, RenderAssetInfo, TAsset, TCompMetadata, TComposition, TSequence } from './CompositionManager';
import * as Logging from './config/log';
import { WebpackOverrideFn } from './config/override-webpack';
import * as CSSUtils from './default-css';
import * as perf from './perf';
import * as Timeline from './timeline-position-state';
import { SetTimelineContextValue, TimelineContextValue } from './timeline-position-state';
import { truthy } from './truthy';
import { MediaVolumeContextValue, SetMediaVolumeContextValue } from './volume-position-state';
import { useRemotionContexts } from './wrap-remotion-context';
export declare const Internals: {
    perf: typeof perf;
    useUnsafeVideoConfig: () => import("./video-config").VideoConfig | null;
    Timeline: typeof Timeline;
    CompositionManager: import("react").Context<CompositionManagerContext>;
    RemotionRoot: import("react").FC<{}>;
    useVideo: () => TComposition<unknown> | null;
    getRoot: () => import("react").FC<{}> | null;
    getBrowserExecutable: () => string | null;
    getCompositionName: () => string | null;
    getIsEvaluation: () => boolean;
    getPixelFormat: () => "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le";
    getConcurrency: () => number | null;
    getRange: () => number | [number, number] | null;
    getShouldOverwrite: () => boolean;
    getOutputCodecOrUndefined: () => import("./config/codec").CodecOrUndefined;
    getWebpackOverrideFn: () => WebpackOverrideFn;
    getQuality: () => number | undefined;
    getShouldOutputImageSequence: (frameRange: number | [number, number] | null) => boolean;
    validateSelectedCrfAndCodecCombination: (crf: number, codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav") => void;
    getFinalOutputCodec: ({ codec: inputCodec, fileExtension, emitWarning, }: {
        codec: import("./config/codec").CodecOrUndefined;
        fileExtension: string | null;
        emitWarning: boolean;
    }) => "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav";
    useMediaVolumeState: () => readonly [number, (u: number) => void];
    useMediaMutedState: () => readonly [boolean, (u: import("react").SetStateAction<boolean>) => void];
    DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav";
    DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le";
    FEATURE_FLAG_FIREFOX_SUPPORT: boolean;
    DEFAULT_WEBPACK_CACHE_ENABLED: boolean;
    getBrowser: () => "chrome" | "firefox" | null;
    DEFAULT_BROWSER: import("./config/browser").Browser;
    getDefaultCrfForCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav") => number;
    getActualCrf: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav") => number;
    setFrameRangeFromCli: (newFrameRange: string | number) => void;
    getUserPreferredImageFormat: () => "png" | "jpeg" | "none" | undefined;
    validateSelectedPixelFormatAndImageFormatCombination: (pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le", imageFormat: "png" | "jpeg" | "none") => "none" | "valid";
    validateSelectedPixelFormatAndCodecCombination: (pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le", codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav") => void;
    validateFrameRange: (frameRange: number | [number, number] | null) => void;
    getWebpackCaching: () => boolean;
    useLazyComponent: <T>(compProps: CompProps<T>) => import("react").LazyExoticComponent<LooseAnyComponent<T>>;
    truthy: typeof truthy;
    isAudioCodec: (codec: import("./config/codec").CodecOrUndefined) => boolean;
    INPUT_PROPS_KEY: string;
    Logging: typeof Logging;
    SequenceContext: import("react").Context<import("./sequencing").SequenceContextType | null>;
    useRemotionContexts: typeof useRemotionContexts;
    RemotionContextProvider: (props: import("./wrap-remotion-context").RemotionContextProviderProps) => JSX.Element;
    isPlainIndex: () => boolean;
    CSSUtils: typeof CSSUtils;
    setupEnvVariables: () => void;
    ENV_VARIABLES_ENV_NAME: "ENV_VARIABLES";
    ENV_VARIABLES_LOCAL_STORAGE_KEY: string;
    getDotEnvLocation: () => string | null;
    getServerPort: () => number | undefined;
    MediaVolumeContext: import("react").Context<MediaVolumeContextValue>;
    SetMediaVolumeContext: import("react").Context<SetMediaVolumeContextValue>;
    validateDurationInFrames: (durationInFrames: number) => void;
    validateFps: (fps: number) => void;
    validateDimension: (amount: number, nameOfProp: string) => void;
};
export type { TComposition, Timeline, TCompMetadata, TSequence, WebpackOverrideFn, TAsset, RenderAssetInfo, TimelineContextValue, SetTimelineContextValue, CompProps, CompositionManagerContext, MediaVolumeContextValue, SetMediaVolumeContextValue, LooseAnyComponent, };
//# sourceMappingURL=internals.d.ts.map