import { either as E, readonlyNonEmptyArray as RNEA } from 'fp-ts/lib';
import { ReadonlyRecordNonEmptyArray } from '../types.js';
type MACDReturn = ReadonlyRecordNonEmptyArray<number | null> & {
    readonly macd: RNEA.ReadonlyNonEmptyArray<number>;
    readonly signal: RNEA.ReadonlyNonEmptyArray<number | null>;
};
/**
 * The Moving Average Convergence Divergence (MACD) is the relationship of
 * two Exponential Moving Averages (EMA) with different periods.
 * It generates crosses with the generated signal EMA which can be used
 * to indicate uptrends or downtrends.
 *
 * @public
 */
export declare const macd: (values: ReadonlyArray<number>, fastPeriod?: number, slowPeriod?: number, signalPeriod?: number) => E.Either<Error, MACDReturn>;
export {};
