import StockData from '../StockData';
import HangingMan, { IHangingManConfig } from './HangingMan';
import { IBearishHammerStickConfig } from './BearishHammerStick';
import { IBullishHammerConfig } from './BullishHammerStick';
/**
 * Configuration interface for HangingManUnconfirmed pattern.
 * Extends HangingMan configuration.
 */
export interface IHangingManUnconfirmedConfig extends IHangingManConfig, IBullishHammerConfig, IBearishHammerStickConfig {
}
/**
 * Default configuration for HangingManUnconfirmed pattern.
 */
export declare const DEFAULT_HANGING_MAN_UNCONFIRMED_CONFIG: IHangingManUnconfirmedConfig;
export default class HangingManUnconfirmed extends HangingMan {
    protected readonly config: IHangingManUnconfirmedConfig;
    constructor(config?: IHangingManUnconfirmedConfig);
    logic(data: StockData): boolean;
    upwardTrend(data: StockData, confirm?: boolean): boolean;
    includesHammer(data: StockData, confirm?: boolean): any;
    private isCustomHammerLike;
}
/**
 * Detects HangingManUnconfirmed candlestick pattern in the provided stock data.
 *
 * A HangingManUnconfirmed is a bearish reversal pattern that appears at the end of an uptrend.
 * Unlike the confirmed version, this pattern doesn't require confirmation from the next candle.
 * It consists of:
 * 1. An uptrend in the first 3 candles
 * 2. A hammer-like candle (small body with long lower shadow) at the 4th position
 *
 * This pattern suggests potential bearish reversal but is less reliable than the confirmed version.
 *
 * @param data - Stock data containing OHLC values for at least 4 periods
 * @param config - Configuration object for pattern detection
 * @param config.scale - Scale parameter for approximateEqual function precision (default: 0.001)
 * @param config.minimumThreshold - Minimum threshold for absolute measurements (default: 0.01)
 * @param config.absoluteMinimum - Absolute minimum for very small values (default: 0.001)
 * @param config.movementThresholdBase - Movement threshold multiplier for confirmation (default: 1.0)
 * @param config.movementThresholdScale - Movement threshold scale factor (default: 0.3)
 * @returns True if HangingManUnconfirmed pattern is detected, false otherwise
 *
 * @example
 * ```typescript
 * // Using default configuration
 * const hasHangingManUnconfirmedPattern = hangingmanunconfirmed(stockData);
 *
 * // Using custom configuration
 * const hasHangingManUnconfirmedPattern = hangingmanunconfirmed(stockData, {
 *   scale: 0.002,
 *   minimumThreshold: 0.02,
 *   movementThresholdBase: 1.5
 * });
 *
 * // Backward compatibility with scale parameter
 * const hasHangingManUnconfirmedPattern = hangingmanunconfirmed(stockData, { scale: 0.002 });
 * ```
 */
export declare function hangingmanunconfirmed(data: StockData, config?: IHangingManUnconfirmedConfig): any;
