export default abstract class TransitionInterpolator { protected _propsToCompare: string[]; protected _propsToExtract: string[]; protected _requiredProps?: string[]; /** * @param opts {array|object} * @param opts.compare {array} - prop names used in equality check * @param opts.extract {array} - prop names needed for interpolation * @param opts.required {array} - prop names that must be supplied * alternatively, supply one list of prop names as `opts` if all of the above are the same. */ constructor(opts: { compare: string[]; extract?: string[]; required?: string[]; }); /** * Checks if two sets of props need transition in between * @param currentProps {object} - a list of viewport props * @param nextProps {object} - a list of viewport props * @returns {bool} - true if two props are equivalent */ arePropsEqual(currentProps: Record, nextProps: Record): boolean; /** * Called before transition starts to validate/pre-process start and end props * @param startProps {object} - a list of starting viewport props * @param endProps {object} - a list of target viewport props * @returns {Object} {start, end} - start and end props to be passed * to `interpolateProps` */ initializeProps(startProps: Record, endProps: Record): { start: Record; end: Record; }; /** * Returns viewport props in transition * @param startProps {object} - a list of starting viewport props * @param endProps {object} - a list of target viewport props * @param t {number} - a time factor between [0, 1] * @returns {object} - a list of interpolated viewport props */ abstract interpolateProps(startProps: Record, endProps: Record, t: number): Record; /** * Returns transition duration * @param startProps {object} - a list of starting viewport props * @param endProps {object} - a list of target viewport props * @returns {Number} - transition duration in milliseconds */ getDuration(startProps: Record, endProps: Record): number; _checkRequiredProps(props: any): void; } //# sourceMappingURL=transition-interpolator.d.ts.map