remotion
Version:
Make videos programmatically
27 lines (26 loc) • 1.87 kB
TypeScript
export type ExtrapolateType = 'extend' | 'identity' | 'clamp' | 'wrap';
/**
* @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;
posterize: number;
}>;
type NumericTuple = readonly [number, ...number[]];
type WidenNumericTuple<T extends readonly number[]> = {
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 string[], options?: InterpolateOptions): string;
export declare function interpolate<const Tuple extends NumericTuple>(input: number, inputRange: readonly number[], outputRange: readonly Tuple[], options?: InterpolateOptions): WidenNumericTuple<Tuple>;
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 {};