export type ExtrapolateType = 'extend' | 'identity' | 'clamp' | 'wrap'; export type InterpolateOutputOption = 'linear' | 'perceptual-scale'; export type InterpolateOutputType = 'font-weight' | 'scale' | 'translate' | 'rotate' | 'transform-origin'; /** * @description This function allows you to map a range of values to another with a concise syntax * @see [Documentation](https://www.remotion.dev/docs/interpolate) */ export type EasingFunction = ((input: number) => number) & { readonly remotionShouldExtendRight?: boolean; }; export type InterpolateOptions = Partial<{ easing: EasingFunction | readonly EasingFunction[]; extrapolateLeft: ExtrapolateType; extrapolateRight: ExtrapolateType; output: InterpolateOutputOption; outputType: InterpolateOutputType; posterize: number; }>; type NumericTuple = readonly [number, ...number[]]; type WidenNumericTuple = { readonly [Key in keyof T]: number; }; export declare function assertValidInterpolateEasingOption(easing: EasingFunction | readonly EasingFunction[] | undefined, inputRangeLength: number): void; export declare function assertValidInterpolatePosterizeOption(posterize: number | undefined): void; export declare function interpolate(input: number, inputRange: readonly number[], outputRange: readonly number[], options?: InterpolateOptions): number; export declare function interpolate(input: number, inputRange: readonly number[], outputRange: readonly (number | string)[], options: InterpolateOptions & { outputType: 'font-weight'; }): number; export declare function interpolate(input: number, inputRange: readonly number[], outputRange: readonly string[], options?: InterpolateOptions): string; export declare function interpolate(input: number, inputRange: readonly number[], outputRange: readonly Tuple[], options?: InterpolateOptions): WidenNumericTuple; export declare function interpolate(input: number, inputRange: readonly number[], outputRange: readonly (readonly number[])[], options?: InterpolateOptions): number[]; export declare function interpolate(input: number, inputRange: readonly number[], outputRange: readonly (number | string | readonly number[])[], options?: InterpolateOptions): number | string | readonly number[]; export {};