import type { MValue, Properties, RGBA, VectorPoint } from '../..';
export * from './average';
export * from './bilinear';
export * from './idw';
export * from './kriging';
export * from './lanczos';
export * from './nearest';
/** Interpolation method */
export type InterpolationMethod = 'average' | 'nearest' | 'idw' | 'lanczos';
/**
 * Get the interpolation function based on the method type.
 * Options are:
 * - average
 * - nearest
 * - idw
 * - lanczos [default]
 * @param method - interpolation method as a string
 * @returns - interpolation function
 */
export declare function getInterpolation<T extends MValue = Properties>(method: InterpolationMethod): InterpolationFunction<T>;
/**
 * Get the interpolation function based on the method type.
 * Options are:
 * - average
 * - nearest
 * - idw
 * - lanczos [default]
 * @param method - interpolation method as a string
 * @returns - interpolation function
 */
export declare function getRGBAInterpolation(method: InterpolationMethod): RGBAInterpolationFunction;
/** Function to get the value of a point */
export type GetInterpolateValue<T extends MValue = Properties> = (point: VectorPoint<T>) => number;
/** The standard interpolation function */
export type InterpolationFunction<T extends MValue = Properties> = (point: VectorPoint, refData: VectorPoint<T>[], getValue: GetInterpolateValue<T>) => number;
/** The standard RGBA interpolation function */
export type RGBAInterpolationFunction = (point: VectorPoint, refData: VectorPoint<RGBA>[]) => RGBA;
/**
 * Default function to get the value of a point
 * @param point - vector point to pull data from
 * @returns - the z value
 */
export declare function defaultGetInterpolateCurrentValue<T extends Properties>(point: VectorPoint<T>): number;
//# sourceMappingURL=index.d.ts.map