/* tslint:disable */
/* eslint-disable */
export function zipOhlcvBars(open_time?: any[] | null, close_time?: any[] | null, open?: Float64Array | null, high?: Float64Array | null, low?: Float64Array | null, close?: Float64Array | null, volume?: Float64Array | null): OhlcvBar[];
export function _getCoreVersion(): string;
export function orderSizeForEquityPct(equity_pct: number, equity: number, current_position: number, instrument_price: number, point_value: number, exchange_rate: number): number;
export function orderSize(equity_pct: number, equity: number, exchange_rate: number, instrument_price: number, point_value: number): number;
export function validateContracts(size: number, min_qty: number): boolean;
export function roundContracts(size: number, min_qty: number, qty_scale: number): number;
export function roundToMinTick(value: number, min_tick: number): number;
export function annualization_factor(timeframe: Timeframe, trading_days: number): number;
export function f1(precision: number, recall: number): number;
export function recall(tp_count: number, fn_count: number): number;
export function precision(tp_count: number, fp_count: number): number;
export function accuracy(tp_count: number, fp_count: number, fn_count: number, tn_count: number): number;
export function shortNetProfitPct(short_net_profit: number, initial_capital: number): number;
export function longNetProfitPct(long_net_profit: number, initial_capital: number): number;
export function grossLossPct(gross_loss: number, initial_capital: number): number;
export function grossProfitPct(gross_profit: number, initial_capital: number): number;
export function netProfitPct(net_profit: number, initial_capital: number): number;
export function omegaRatioFromReturns(returns: Float64Array, risk_free_rate: number): number;
export function omegaRatio(positive_returns_sum: number, negative_returns_sum: number, risk_free_rate: number): number;
export function sortinoRatioFromReturns(returns: Float64Array, risk_free_rate: number): number;
export function sortinoRatio(mean_returns: number, negative_returns_stdev: number, risk_free_rate: number): number;
export function sharpeRatioFromReturns(returns: Float64Array, risk_free_rate: number): number;
export function sharpeRatio(mean_returns: number, std_returns: number, risk_free_rate: number): number;
export function avgWinLossRatio(avg_winning_trade: number, avg_losing_trade: number): number;
export function avgLosingTrade(gross_loss: number, losing_trades: number): number;
export function avgWinningTrade(gross_profit: number, winning_trades: number): number;
export function avgTrade(net_profit: number, closed_trades: number): number;
export function winRate(profitable_trades: number, total_trades: number): number;
export function longNetProfitRatio(long_net_profit: number, short_net_profit: number): number;
export function profitFactor(gross_profit: number, gross_loss: number): number;
export function pnl(qty: number, entry_price: number, current_price: number): number;
export function expectancyScore(expectancy: number, opportunity_bars: number): number;
export function expectancy(pnl: Float64Array): number;
export function returns(equity: Float64Array, skip_first?: boolean | null): Float64Array;
export function stdev(values: Float64Array): number;
export function variance(values: Float64Array): number;
export function mean(values: Float64Array): number;
export function sum(values: Float64Array): number;
export class Backtest {
  free(): void;
  constructor(ctx: Ctx, initial_capital?: number | null, process_orders_on_close?: boolean | null, risk_free_rate?: number | null, annualization_factor?: number | null);
  sharpeRatio(): number;
  sortinoRatio(): number;
  expectancy(): number;
  onBarOpen(): void;
  onBarClose(): void;
  signal(signal: Signal): void;
  signalList(signals: Array<any>): void;
  signalMap(signals: Map<any, any>): void;
  skip(skip: CtxSkip): void;
  length(): number;
  next(): number | undefined;
  toPine(): string;
  display(): void;
  readonly initialCapital: number;
  readonly processOrdersOnClose: boolean;
  readonly ctx: Ctx;
  readonly equity: number;
  readonly equityList: Float64Array;
  readonly netEquity: number;
  readonly netEquityList: Float64Array;
  readonly pnlList: Float64Array;
  readonly openProfit: number;
  readonly netProfit: number;
  readonly netProfitPct: number;
  readonly grossProfit: number;
  readonly grossProfitPct: number;
  readonly grossLoss: number;
  readonly grossLossPct: number;
  readonly winRate: number;
  readonly profitFactor: number;
  readonly avgTrade: number;
  readonly avgWinningTrade: number;
  readonly avgLosingTrade: number;
  readonly avgWinLossRatio: number;
  readonly returnsList: Float64Array;
  readonly winningTradesCount: number;
  readonly losingTradesCount: number;
  readonly positionSize: number;
  readonly openTrades: Trade[];
  readonly closedTrades: Trade[];
  readonly trades: Trade[];
  readonly openLongsCount: number;
  readonly openShortsCount: number;
  readonly closedLongsCount: number;
  readonly closedShortsCount: number;
  readonly firstEntryBarIndex: number | undefined;
  readonly instrumentSize: number;
}
export class Ctx {
  free(): void;
  constructor(ohlcv?: Ohlcv | null, sym?: Sym | null);
  copy(): Ctx;
  reset(): void;
  next(): number | undefined;
  ref(): Ctx;
  readonly barIndex: number;
  readonly bar: OhlcvBar;
  readonly isInitialized: boolean;
  readonly sym: Sym;
  readonly ohlcv: Ohlcv;
  readonly length: number;
}
export class CtxSkip {
  private constructor();
  free(): void;
  static end(): CtxSkip;
  static bars(bars: number): CtxSkip;
  static barIndex(bar_index: number): CtxSkip;
  static openTimeEq(open_time: Date): CtxSkip;
  static openTimeGeq(open_time: Date): CtxSkip;
}
export class Incr_fn_absolute_price_oscillator_74dd80 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_absolute_price_oscillator_74dd80;
  next(_9290_src: any, _9291_fast_length: any, _9292_slow_length: any): any;
  collect(_9290_src: any, _9291_fast_length: any, _9292_slow_length: any): any[];
}
export class Incr_fn_accdist_da4b16 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_accdist_da4b16;
  next(): any;
  collect(): any[];
}
export class Incr_fn_advance_decline_ratio_4920ed {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_advance_decline_ratio_4920ed;
  next(_9272_length: any): any;
  collect(_9272_length: any): any[];
}
export class Incr_fn_aroon_141eba {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_aroon_141eba;
  next(_9125_length: any): any;
  collect(_9125_length: any): any[];
}
export class Incr_fn_atr_934fd4 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_atr_934fd4;
  next(_9113_length: any): any;
  collect(_9113_length: any): any[];
}
export class Incr_fn_awesome_oscillator_9a7d5c {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_awesome_oscillator_9a7d5c;
  next(_9131_src: any, _9132_slow_length: any, _9133_fast_length: any): any;
  collect(_9131_src: any, _9132_slow_length: any, _9133_fast_length: any): any[];
}
export class Incr_fn_balance_of_power_4b4843 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_balance_of_power_4b4843;
  next(): any;
  collect(): any[];
}
export class Incr_fn_barssince_86a109 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_barssince_86a109;
  next(_9059_condition: any): any;
  collect(_9059_condition: any): any[];
}
export class Incr_fn_bollinger_bands_730940 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_bollinger_bands_730940;
  next(_9156_src: any, _9157_length: any, _9158_mult: any): any;
  collect(_9156_src: any, _9157_length: any, _9158_mult: any): any[];
}
export class Incr_fn_bollinger_bands_pct_b_8b7a76 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_bollinger_bands_pct_b_8b7a76;
  next(_9138_src: any, _9139_length: any, _9140_mult: any): any;
  collect(_9138_src: any, _9139_length: any, _9140_mult: any): any[];
}
export class Incr_fn_bollinger_bands_width_ee0f57 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_bollinger_bands_width_ee0f57;
  next(_9147_src: any, _9148_length: any, _9149_mult: any): any;
  collect(_9147_src: any, _9148_length: any, _9149_mult: any): any[];
}
export class Incr_fn_bull_bear_power_3b0f5a {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_bull_bear_power_3b0f5a;
  next(_9284_length: any): any;
  collect(_9284_length: any): any[];
}
export class Incr_fn_cci_2b8ab4 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_cci_2b8ab4;
  next(_9118_src: any, _9119_length: any): any;
  collect(_9118_src: any, _9119_length: any): any[];
}
export class Incr_fn_chaikin_money_flow_93b85c {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_chaikin_money_flow_93b85c;
  next(_9164_length: any): any;
  collect(_9164_length: any): any[];
}
export class Incr_fn_chande_kroll_stop_0fb980 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_chande_kroll_stop_0fb980;
  next(_9169_atr_length: any, _9170_atr_coeff: any, _9171_stop_length: any): any;
  collect(_9169_atr_length: any, _9170_atr_coeff: any, _9171_stop_length: any): any[];
}
export class Incr_fn_change_2683fb {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_change_2683fb;
  next(_9057_src: any): any;
  collect(_9057_src: any): any[];
}
export class Incr_fn_choppiness_index_7e8fa4 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_choppiness_index_7e8fa4;
  next(_9180_length: any): any;
  collect(_9180_length: any): any[];
}
export class Incr_fn_connors_rsi_3ac79c {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_connors_rsi_3ac79c;
  next(_9187_src: any, _9188_rsi_length: any, _9189_up_down_length: any, _9190_roc_length: any): any;
  collect(_9187_src: any, _9188_rsi_length: any, _9189_up_down_length: any, _9190_roc_length: any): any[];
}
export class Incr_fn_coppock_curve_b01959 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_coppock_curve_b01959;
  next(_9196_src: any, _9197_wma_length: any, _9198_long_roc_length: any, _9199_short_roc_length: any): any;
  collect(_9196_src: any, _9197_wma_length: any, _9198_long_roc_length: any, _9199_short_roc_length: any): any[];
}
export class Incr_fn_cross_78e5cb {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_cross_78e5cb;
  next(_9070_source1: any, _9071_source2: any): any;
  collect(_9070_source1: any, _9071_source2: any): any[];
}
export class Incr_fn_crossover_e509b3 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_crossover_e509b3;
  next(_9064_source1: any, _9065_source2: any): any;
  collect(_9064_source1: any, _9065_source2: any): any[];
}
export class Incr_fn_crossunder_12e9cf {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_crossunder_12e9cf;
  next(_9067_source1: any, _9068_source2: any): any;
  collect(_9067_source1: any, _9068_source2: any): any[];
}
export class Incr_fn_cum_0aa26d {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_cum_0aa26d;
  next(_9055_src: any): any;
  collect(_9055_src: any): any[];
}
export class Incr_fn_dema_6fa53c {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_dema_6fa53c;
  next(_9327_src: any, _9328_length: any): any;
  collect(_9327_src: any, _9328_length: any): any[];
}
export class Incr_fn_detrended_price_oscillator_a2d0bd {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_detrended_price_oscillator_a2d0bd;
  next(_9278_length: any, _9279_centered: any): any;
  collect(_9278_length: any, _9279_centered: any): any[];
}
export class Incr_fn_dev_cac48b {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_dev_cac48b;
  next(_9108_src: any, _9109_length: any): any;
  collect(_9108_src: any, _9109_length: any): any[];
}
export class Incr_fn_donchian_channel_7679ae {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_donchian_channel_7679ae;
  next(_9201_src: any, _9202_length: any): any;
  collect(_9201_src: any, _9202_length: any): any[];
}
export class Incr_fn_ease_of_movement_673394 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_ease_of_movement_673394;
  next(_9347_length: any, _9348_divisor: any): any;
  collect(_9347_length: any, _9348_divisor: any): any[];
}
export class Incr_fn_elder_force_index_ce0163 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_elder_force_index_ce0163;
  next(_9350_length: any): any;
  collect(_9350_length: any): any[];
}
export class Incr_fn_ema_eabcc4 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_ema_eabcc4;
  next(_9090_src: any, _9091_length: any): any;
  collect(_9090_src: any, _9091_length: any): any[];
}
export class Incr_fn_fwma_b0c1e1 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_fwma_b0c1e1;
  next(_9337_src: any, _9338_length: any): any;
  collect(_9337_src: any, _9338_length: any): any[];
}
export class Incr_fn_highest_9edcdf {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_highest_9edcdf;
  next(_9079_src: any, _9080_length: any): any;
  collect(_9079_src: any, _9080_length: any): any[];
}
export class Incr_fn_highestbars_23b181 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_highestbars_23b181;
  next(_9073_src: any, _9074_length: any): any;
  collect(_9073_src: any, _9074_length: any): any[];
}
export class Incr_fn_hma_532aa0 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_hma_532aa0;
  next(_9102_src: any, _9103_length: any): any;
  collect(_9102_src: any, _9103_length: any): any[];
}
export class Incr_fn_know_sure_thing_1817a6 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_know_sure_thing_1817a6;
  next(_9296_src: any, _9297_roc_length1: any, _9298_roc_length2: any, _9299_roc_length3: any, _9300_roc_length4: any, _9301_sma_length1: any, _9302_sma_length2: any, _9303_sma_length3: any, _9304_sma_length4: any, _9305_sig_length: any): any;
  collect(_9296_src: any, _9297_roc_length1: any, _9298_roc_length2: any, _9299_roc_length3: any, _9300_roc_length4: any, _9301_sma_length1: any, _9302_sma_length2: any, _9303_sma_length3: any, _9304_sma_length4: any, _9305_sig_length: any): any[];
}
export class Incr_fn_lowest_e54ba1 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_lowest_e54ba1;
  next(_9082_src: any, _9083_length: any): any;
  collect(_9082_src: any, _9083_length: any): any[];
}
export class Incr_fn_lowestbars_f06605 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_lowestbars_f06605;
  next(_9076_src: any, _9077_length: any): any;
  collect(_9076_src: any, _9077_length: any): any[];
}
export class Incr_fn_lwma_f682d8 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_lwma_f682d8;
  next(_9099_src: any, _9100_length: any): any;
  collect(_9099_src: any, _9100_length: any): any[];
}
export class Incr_fn_macd_11ef9e {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_macd_11ef9e;
  next(_9207_src: any, _9208_short_length: any, _9209_long_length: any): any;
  collect(_9207_src: any, _9208_short_length: any, _9209_long_length: any): any[];
}
export class Incr_fn_main_a2110e {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_main_a2110e;
  next(): any;
  collect(): any;
}
export class Incr_fn_momentum_fe155f {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_momentum_fe155f;
  next(_9313_src: any, _9314_length: any): any;
  collect(_9313_src: any, _9314_length: any): any[];
}
export class Incr_fn_money_flow_index_eccf49 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_money_flow_index_eccf49;
  next(_9344_src: any, _9345_length: any): any;
  collect(_9344_src: any, _9345_length: any): any[];
}
export class Incr_fn_price_oscillator_4b8bf9 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_price_oscillator_4b8bf9;
  next(_9212_src: any, _9213_short_length: any, _9214_long_length: any): any;
  collect(_9212_src: any, _9213_short_length: any, _9214_long_length: any): any[];
}
export class Incr_fn_relative_vigor_index_c3c62c {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_relative_vigor_index_c3c62c;
  next(_9219_length: any): any;
  collect(_9219_length: any): any[];
}
export class Incr_fn_relative_volatility_index_289604 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_relative_volatility_index_289604;
  next(_9221_src: any, _9222_length: any): any;
  collect(_9221_src: any, _9222_length: any): any[];
}
export class Incr_fn_rma_c4a61a {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_rma_c4a61a;
  next(_9093_src: any, _9094_length: any): any;
  collect(_9093_src: any, _9094_length: any): any[];
}
export class Incr_fn_roc_5ead0b {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_roc_5ead0b;
  next(_9061_src: any, _9062_length: any): any;
  collect(_9061_src: any, _9062_length: any): any[];
}
export class Incr_fn_rsi_250ed8 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_rsi_250ed8;
  next(_9115_src: any, _9116_length: any): any;
  collect(_9115_src: any, _9116_length: any): any[];
}
export class Incr_fn_sma_c468bf {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_sma_c468bf;
  next(_9087_src: any, _9088_length: any): any;
  collect(_9087_src: any, _9088_length: any): any[];
}
export class Incr_fn_stdev_fab2d0 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_stdev_fab2d0;
  next(_9121_src: any, _9122_length: any, _9123_biased: any): any;
  collect(_9121_src: any, _9122_length: any, _9123_biased: any): any[];
}
export class Incr_fn_stochastic_rsi_824b6c {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_stochastic_rsi_824b6c;
  next(_9228_src: any, _9229_stoch_length: any, _9230_rsi_length: any, _9231_k: any, _9232_d: any): any;
  collect(_9228_src: any, _9229_stoch_length: any, _9230_rsi_length: any, _9231_k: any, _9232_d: any): any[];
}
export class Incr_fn_supertrend_2c88cc {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_supertrend_2c88cc;
  next(_9127_src: any, _9128_factor: any, _9129_atr_period: any): any;
  collect(_9127_src: any, _9128_factor: any, _9129_atr_period: any): any[];
}
export class Incr_fn_swma_8ec157 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_swma_8ec157;
  next(_9085_src: any): any;
  collect(_9085_src: any): any[];
}
export class Incr_fn_tema_c4b376 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_tema_c4b376;
  next(_9352_src: any, _9353_length: any): any;
  collect(_9352_src: any, _9353_length: any): any[];
}
export class Incr_fn_tr_ba70e0 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_tr_ba70e0;
  next(_9111_handle_na: any): any;
  collect(_9111_handle_na: any): any[];
}
export class Incr_fn_trix_bcad27 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_trix_bcad27;
  next(_9316_src: any, _9317_length: any): any;
  collect(_9316_src: any, _9317_length: any): any[];
}
export class Incr_fn_true_strength_index_59c9ff {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_true_strength_index_59c9ff;
  next(_9319_src: any, _9320_long_length: any, _9321_short_length: any): any;
  collect(_9319_src: any, _9320_long_length: any, _9321_short_length: any): any[];
}
export class Incr_fn_ultimate_oscillator_12d069 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_ultimate_oscillator_12d069;
  next(_9241_fast_length: any, _9242_medium_length: any, _9243_slow_length: any): any;
  collect(_9241_fast_length: any, _9242_medium_length: any, _9243_slow_length: any): any[];
}
export class Incr_fn_volume_oscillator_249c65 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_volume_oscillator_249c65;
  next(_9253_short_length: any, _9254_long_length: any): any;
  collect(_9253_short_length: any, _9254_long_length: any): any[];
}
export class Incr_fn_vortex_indicator_014043 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_vortex_indicator_014043;
  next(_9259_length: any): any;
  collect(_9259_length: any): any[];
}
export class Incr_fn_vwma_3a6971 {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_vwma_3a6971;
  next(_9105_src: any, _9106_length: any): any;
  collect(_9105_src: any, _9106_length: any): any[];
}
export class Incr_fn_williams_pct_r_8d8aee {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_williams_pct_r_8d8aee;
  next(_9266_src: any, _9267_length: any): any;
  collect(_9266_src: any, _9267_length: any): any[];
}
export class Incr_fn_wma_db949f {
  private constructor();
  free(): void;
  static make(ctx: Ctx): Incr_fn_wma_db949f;
  next(_9096_src: any, _9097_length: any): any;
  collect(_9096_src: any, _9097_length: any): any[];
}
export class Ohlcv {
  free(): void;
  constructor();
  static fromBars(bars: OhlcvBar[]): Ohlcv;
  at(index: number): OhlcvBar | undefined;
  slice(start: number, end: number): Ohlcv;
  head(count: number): Ohlcv;
  tail(count: number): Ohlcv;
  copy(): Ohlcv;
  extend(other: Ohlcv): void;
  resample(timeframe: Timeframe, align_utc: boolean): Ohlcv;
  sort(ascending: boolean): void;
  reverse(): void;
  clear(): void;
  pop(): OhlcvBar | undefined;
  shift(): OhlcvBar | undefined;
  push(bar: OhlcvBar): void;
  pushMany(bars: OhlcvBar[]): void;
  toString(): string;
  ref(): Ohlcv;
  timeframe: Timeframe;
  readonly openTime: Array<any>;
  readonly closeTime: Array<any>;
  readonly open: Float64Array;
  readonly high: Float64Array;
  readonly low: Float64Array;
  readonly close: Float64Array;
  readonly volume: Float64Array;
  readonly bars: OhlcvBar[];
  readonly length: number;
}
export class OhlcvBar {
  free(): void;
  constructor(open_time?: Date | null, close_time?: Date | null, open?: number | null, high?: number | null, low?: number | null, close?: number | null, volume?: number | null);
  merge(other: OhlcvBar): OhlcvBar;
  toString(): string;
  toJSON(): any;
  static fromJSON(json: any): OhlcvBar;
  readonly openTime: Date | undefined;
  readonly closeTime: Date | undefined;
  readonly open: number;
  readonly high: number;
  readonly low: number;
  readonly close: number;
  readonly volume: number;
}
export class Signal {
  private constructor();
  free(): void;
  static Hold(): Signal;
  static Size(size: number): Signal;
  static EquityPct(equity_pct: number): Signal;
  static CloseAll(): Signal;
  static Long(): Signal;
  static Short(): Signal;
  get id(): string | undefined;
  set id(value: string | null | undefined);
  get comment(): string | undefined;
  set comment(value: string | null | undefined);
}
export class Sym {
  free(): void;
  constructor();
  static BTC_USD(): Sym;
  static ETH_USD(): Sym;
  static SOL_USD(): Sym;
  static DOGE_USD(): Sym;
  toJSON(): any;
  static fromJSON(json: any): Sym;
  eq(other: Sym): boolean;
  get id(): string | undefined;
  set id(value: string | null | undefined);
  get tickerId(): string | undefined;
  set tickerId(value: string | null | undefined);
  kind: SymKind;
  minTick: number;
  minQty: number;
  get prefix(): string | undefined;
  set prefix(value: string | null | undefined);
  get currency(): string | undefined;
  set currency(value: string | null | undefined);
  get baseCurrency(): string | undefined;
  set baseCurrency(value: string | null | undefined);
  get ticker(): string | undefined;
  set ticker(value: string | null | undefined);
  get country(): string | undefined;
  set country(value: string | null | undefined);
  priceScale: number;
  pointValue: number;
  get metadata(): string | undefined;
  set metadata(value: string | null | undefined);
  readonly qtyScale: number;
}
export class SymKind {
  private constructor();
  free(): void;
  toString(): string;
  static fromString(kind: string): SymKind;
  static Stock(): SymKind;
  static Future(): SymKind;
  static Option(): SymKind;
  static Crypto(): SymKind;
  static Forex(): SymKind;
  static Unknown(): SymKind;
  static Other(kind: string): SymKind;
  eq(other: SymKind): boolean;
  readonly periods: number;
}
export class Timeframe {
  private constructor();
  free(): void;
  toString(): string;
  static fromString(timeframe: string): Timeframe;
  static Years(value: number): Timeframe;
  static Months(value: number): Timeframe;
  static Weeks(value: number): Timeframe;
  static Days(value: number): Timeframe;
  static Hours(value: number): Timeframe;
  static Minutes(value: number): Timeframe;
  static Seconds(value: number): Timeframe;
  static Ticks(value: number): Timeframe;
  static Ranges(value: number): Timeframe;
  static Unknown(): Timeframe;
  eq(other: Timeframe): boolean;
  toDurationS(): number;
  static fromDurationS(duration: number): Timeframe;
  readonly years: number | undefined;
  readonly months: number | undefined;
  readonly weeks: number | undefined;
  readonly days: number | undefined;
  readonly hours: number | undefined;
  readonly minutes: number | undefined;
  readonly seconds: number | undefined;
  readonly ticks: number | undefined;
  readonly ranges: number | undefined;
  readonly unknown: boolean;
}
export class Trade {
  private constructor();
  free(): void;
  readonly size: number;
  readonly entry: TradeEvent | undefined;
  readonly exit: TradeEvent | undefined;
  readonly pnl: number;
  readonly direction: TradeDirection;
  readonly isActive: boolean;
  readonly isClosed: boolean;
}
export class TradeDirection {
  private constructor();
  free(): void;
  Long(): TradeDirection;
  Short(): TradeDirection;
  toNumber(): number;
  static fromNumber(value: number): TradeDirection;
}
export class TradeEvent {
  private constructor();
  free(): void;
  readonly id: string | undefined;
  readonly orderBarIndex: number;
  readonly fillBarIndex: number;
  readonly price: number;
  readonly comment: string | undefined;
}

export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;

export interface InitOutput {
  readonly memory: WebAssembly.Memory;
  readonly incr_fn_main_a2110e_next: (a: number) => [number, number, number];
  readonly incr_fn_main_a2110e_collect: (a: number) => [number, number, number];
  readonly __wbg_incr_fn_main_a2110e_free: (a: number, b: number) => void;
  readonly incr_fn_tema_c4b376_make: (a: number) => number;
  readonly incr_fn_tema_c4b376_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_tema_c4b376_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_tema_c4b376_free: (a: number, b: number) => void;
  readonly incr_fn_elder_force_index_ce0163_next: (a: number, b: any) => [number, number, number];
  readonly incr_fn_elder_force_index_ce0163_collect: (a: number, b: any) => [number, number, number, number];
  readonly __wbg_incr_fn_elder_force_index_ce0163_free: (a: number, b: number) => void;
  readonly incr_fn_ease_of_movement_673394_make: (a: number) => number;
  readonly incr_fn_ease_of_movement_673394_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_ease_of_movement_673394_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_ease_of_movement_673394_free: (a: number, b: number) => void;
  readonly incr_fn_money_flow_index_eccf49_make: (a: number) => number;
  readonly incr_fn_money_flow_index_eccf49_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_money_flow_index_eccf49_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_money_flow_index_eccf49_free: (a: number, b: number) => void;
  readonly incr_fn_fwma_b0c1e1_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_fwma_b0c1e1_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_fwma_b0c1e1_free: (a: number, b: number) => void;
  readonly incr_fn_dema_6fa53c_make: (a: number) => number;
  readonly incr_fn_dema_6fa53c_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_dema_6fa53c_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_dema_6fa53c_free: (a: number, b: number) => void;
  readonly incr_fn_true_strength_index_59c9ff_make: (a: number) => number;
  readonly incr_fn_true_strength_index_59c9ff_next: (a: number, b: any, c: any, d: any) => [number, number, number];
  readonly incr_fn_true_strength_index_59c9ff_collect: (a: number, b: any, c: any, d: any) => [number, number, number, number];
  readonly __wbg_incr_fn_true_strength_index_59c9ff_free: (a: number, b: number) => void;
  readonly incr_fn_trix_bcad27_make: (a: number) => number;
  readonly incr_fn_trix_bcad27_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_trix_bcad27_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_trix_bcad27_free: (a: number, b: number) => void;
  readonly incr_fn_momentum_fe155f_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_momentum_fe155f_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_momentum_fe155f_free: (a: number, b: number) => void;
  readonly incr_fn_know_sure_thing_1817a6_make: (a: number) => number;
  readonly incr_fn_know_sure_thing_1817a6_next: (a: number, b: any, c: any, d: any, e: any, f: any, g: any, h: any, i: any, j: any, k: any) => [number, number, number];
  readonly incr_fn_know_sure_thing_1817a6_collect: (a: number, b: any, c: any, d: any, e: any, f: any, g: any, h: any, i: any, j: any, k: any) => [number, number, number, number];
  readonly __wbg_incr_fn_know_sure_thing_1817a6_free: (a: number, b: number) => void;
  readonly incr_fn_absolute_price_oscillator_74dd80_make: (a: number) => number;
  readonly incr_fn_absolute_price_oscillator_74dd80_next: (a: number, b: any, c: any, d: any) => [number, number, number];
  readonly incr_fn_absolute_price_oscillator_74dd80_collect: (a: number, b: any, c: any, d: any) => [number, number, number, number];
  readonly __wbg_incr_fn_absolute_price_oscillator_74dd80_free: (a: number, b: number) => void;
  readonly incr_fn_bull_bear_power_3b0f5a_make: (a: number) => number;
  readonly incr_fn_bull_bear_power_3b0f5a_next: (a: number, b: any) => [number, number, number];
  readonly incr_fn_bull_bear_power_3b0f5a_collect: (a: number, b: any) => [number, number, number, number];
  readonly __wbg_incr_fn_bull_bear_power_3b0f5a_free: (a: number, b: number) => void;
  readonly incr_fn_detrended_price_oscillator_a2d0bd_make: (a: number) => number;
  readonly incr_fn_detrended_price_oscillator_a2d0bd_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_detrended_price_oscillator_a2d0bd_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_detrended_price_oscillator_a2d0bd_free: (a: number, b: number) => void;
  readonly incr_fn_advance_decline_ratio_4920ed_make: (a: number) => number;
  readonly incr_fn_advance_decline_ratio_4920ed_next: (a: number, b: any) => [number, number, number];
  readonly incr_fn_advance_decline_ratio_4920ed_collect: (a: number, b: any) => [number, number, number, number];
  readonly __wbg_incr_fn_advance_decline_ratio_4920ed_free: (a: number, b: number) => void;
  readonly incr_fn_williams_pct_r_8d8aee_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_williams_pct_r_8d8aee_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_williams_pct_r_8d8aee_free: (a: number, b: number) => void;
  readonly incr_fn_vortex_indicator_014043_make: (a: number) => number;
  readonly incr_fn_vortex_indicator_014043_next: (a: number, b: any) => [number, number, number];
  readonly incr_fn_vortex_indicator_014043_collect: (a: number, b: any) => [number, number, number, number];
  readonly __wbg_incr_fn_vortex_indicator_014043_free: (a: number, b: number) => void;
  readonly incr_fn_volume_oscillator_249c65_make: (a: number) => number;
  readonly incr_fn_volume_oscillator_249c65_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_volume_oscillator_249c65_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_volume_oscillator_249c65_free: (a: number, b: number) => void;
  readonly incr_fn_ultimate_oscillator_12d069_make: (a: number) => number;
  readonly incr_fn_ultimate_oscillator_12d069_next: (a: number, b: any, c: any, d: any) => [number, number, number];
  readonly incr_fn_ultimate_oscillator_12d069_collect: (a: number, b: any, c: any, d: any) => [number, number, number, number];
  readonly __wbg_incr_fn_ultimate_oscillator_12d069_free: (a: number, b: number) => void;
  readonly incr_fn_stochastic_rsi_824b6c_make: (a: number) => number;
  readonly incr_fn_stochastic_rsi_824b6c_next: (a: number, b: any, c: any, d: any, e: any, f: any) => [number, number, number];
  readonly incr_fn_stochastic_rsi_824b6c_collect: (a: number, b: any, c: any, d: any, e: any, f: any) => [number, number, number, number];
  readonly __wbg_incr_fn_stochastic_rsi_824b6c_free: (a: number, b: number) => void;
  readonly incr_fn_relative_volatility_index_289604_make: (a: number) => number;
  readonly incr_fn_relative_volatility_index_289604_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_relative_volatility_index_289604_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_relative_volatility_index_289604_free: (a: number, b: number) => void;
  readonly incr_fn_relative_vigor_index_c3c62c_make: (a: number) => number;
  readonly incr_fn_relative_vigor_index_c3c62c_next: (a: number, b: any) => [number, number, number];
  readonly incr_fn_relative_vigor_index_c3c62c_collect: (a: number, b: any) => [number, number, number, number];
  readonly __wbg_incr_fn_relative_vigor_index_c3c62c_free: (a: number, b: number) => void;
  readonly incr_fn_price_oscillator_4b8bf9_next: (a: number, b: any, c: any, d: any) => [number, number, number];
  readonly incr_fn_price_oscillator_4b8bf9_collect: (a: number, b: any, c: any, d: any) => [number, number, number, number];
  readonly __wbg_incr_fn_price_oscillator_4b8bf9_free: (a: number, b: number) => void;
  readonly incr_fn_macd_11ef9e_next: (a: number, b: any, c: any, d: any) => [number, number, number];
  readonly incr_fn_macd_11ef9e_collect: (a: number, b: any, c: any, d: any) => [number, number, number, number];
  readonly __wbg_incr_fn_macd_11ef9e_free: (a: number, b: number) => void;
  readonly incr_fn_donchian_channel_7679ae_make: (a: number) => number;
  readonly incr_fn_donchian_channel_7679ae_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_donchian_channel_7679ae_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_donchian_channel_7679ae_free: (a: number, b: number) => void;
  readonly incr_fn_coppock_curve_b01959_make: (a: number) => number;
  readonly incr_fn_coppock_curve_b01959_next: (a: number, b: any, c: any, d: any, e: any) => [number, number, number];
  readonly incr_fn_coppock_curve_b01959_collect: (a: number, b: any, c: any, d: any, e: any) => [number, number, number, number];
  readonly __wbg_incr_fn_coppock_curve_b01959_free: (a: number, b: number) => void;
  readonly incr_fn_connors_rsi_3ac79c_make: (a: number) => number;
  readonly incr_fn_connors_rsi_3ac79c_next: (a: number, b: any, c: any, d: any, e: any) => [number, number, number];
  readonly incr_fn_connors_rsi_3ac79c_collect: (a: number, b: any, c: any, d: any, e: any) => [number, number, number, number];
  readonly __wbg_incr_fn_connors_rsi_3ac79c_free: (a: number, b: number) => void;
  readonly incr_fn_choppiness_index_7e8fa4_make: (a: number) => number;
  readonly incr_fn_choppiness_index_7e8fa4_next: (a: number, b: any) => [number, number, number];
  readonly incr_fn_choppiness_index_7e8fa4_collect: (a: number, b: any) => [number, number, number, number];
  readonly __wbg_incr_fn_choppiness_index_7e8fa4_free: (a: number, b: number) => void;
  readonly incr_fn_chande_kroll_stop_0fb980_make: (a: number) => number;
  readonly incr_fn_chande_kroll_stop_0fb980_next: (a: number, b: any, c: any, d: any) => [number, number, number];
  readonly incr_fn_chande_kroll_stop_0fb980_collect: (a: number, b: any, c: any, d: any) => [number, number, number, number];
  readonly __wbg_incr_fn_chande_kroll_stop_0fb980_free: (a: number, b: number) => void;
  readonly incr_fn_chaikin_money_flow_93b85c_make: (a: number) => number;
  readonly incr_fn_chaikin_money_flow_93b85c_next: (a: number, b: any) => [number, number, number];
  readonly incr_fn_chaikin_money_flow_93b85c_collect: (a: number, b: any) => [number, number, number, number];
  readonly __wbg_incr_fn_chaikin_money_flow_93b85c_free: (a: number, b: number) => void;
  readonly incr_fn_bollinger_bands_730940_make: (a: number) => number;
  readonly incr_fn_bollinger_bands_730940_next: (a: number, b: any, c: any, d: any) => [number, number, number];
  readonly incr_fn_bollinger_bands_730940_collect: (a: number, b: any, c: any, d: any) => [number, number, number, number];
  readonly __wbg_incr_fn_bollinger_bands_730940_free: (a: number, b: number) => void;
  readonly incr_fn_bollinger_bands_width_ee0f57_next: (a: number, b: any, c: any, d: any) => [number, number, number];
  readonly incr_fn_bollinger_bands_width_ee0f57_collect: (a: number, b: any, c: any, d: any) => [number, number, number, number];
  readonly __wbg_incr_fn_bollinger_bands_width_ee0f57_free: (a: number, b: number) => void;
  readonly incr_fn_bollinger_bands_pct_b_8b7a76_next: (a: number, b: any, c: any, d: any) => [number, number, number];
  readonly incr_fn_bollinger_bands_pct_b_8b7a76_collect: (a: number, b: any, c: any, d: any) => [number, number, number, number];
  readonly __wbg_incr_fn_bollinger_bands_pct_b_8b7a76_free: (a: number, b: number) => void;
  readonly incr_fn_balance_of_power_4b4843_make: (a: number) => number;
  readonly incr_fn_balance_of_power_4b4843_next: (a: number) => [number, number, number];
  readonly incr_fn_balance_of_power_4b4843_collect: (a: number) => [number, number, number, number];
  readonly __wbg_incr_fn_balance_of_power_4b4843_free: (a: number, b: number) => void;
  readonly incr_fn_awesome_oscillator_9a7d5c_make: (a: number) => number;
  readonly incr_fn_awesome_oscillator_9a7d5c_next: (a: number, b: any, c: any, d: any) => [number, number, number];
  readonly incr_fn_awesome_oscillator_9a7d5c_collect: (a: number, b: any, c: any, d: any) => [number, number, number, number];
  readonly __wbg_incr_fn_awesome_oscillator_9a7d5c_free: (a: number, b: number) => void;
  readonly incr_fn_supertrend_2c88cc_make: (a: number) => number;
  readonly incr_fn_supertrend_2c88cc_next: (a: number, b: any, c: any, d: any) => [number, number, number];
  readonly incr_fn_supertrend_2c88cc_collect: (a: number, b: any, c: any, d: any) => [number, number, number, number];
  readonly __wbg_incr_fn_supertrend_2c88cc_free: (a: number, b: number) => void;
  readonly incr_fn_aroon_141eba_make: (a: number) => number;
  readonly incr_fn_aroon_141eba_next: (a: number, b: any) => [number, number, number];
  readonly incr_fn_aroon_141eba_collect: (a: number, b: any) => [number, number, number, number];
  readonly __wbg_incr_fn_aroon_141eba_free: (a: number, b: number) => void;
  readonly incr_fn_stdev_fab2d0_next: (a: number, b: any, c: any, d: any) => [number, number, number];
  readonly incr_fn_stdev_fab2d0_collect: (a: number, b: any, c: any, d: any) => [number, number, number, number];
  readonly __wbg_incr_fn_stdev_fab2d0_free: (a: number, b: number) => void;
  readonly incr_fn_cci_2b8ab4_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_cci_2b8ab4_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_cci_2b8ab4_free: (a: number, b: number) => void;
  readonly incr_fn_rsi_250ed8_make: (a: number) => number;
  readonly incr_fn_rsi_250ed8_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_rsi_250ed8_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_rsi_250ed8_free: (a: number, b: number) => void;
  readonly incr_fn_atr_934fd4_make: (a: number) => number;
  readonly incr_fn_atr_934fd4_next: (a: number, b: any) => [number, number, number];
  readonly incr_fn_atr_934fd4_collect: (a: number, b: any) => [number, number, number, number];
  readonly __wbg_incr_fn_atr_934fd4_free: (a: number, b: number) => void;
  readonly incr_fn_tr_ba70e0_next: (a: number, b: any) => [number, number, number];
  readonly incr_fn_tr_ba70e0_collect: (a: number, b: any) => [number, number, number, number];
  readonly __wbg_incr_fn_tr_ba70e0_free: (a: number, b: number) => void;
  readonly incr_fn_dev_cac48b_make: (a: number) => number;
  readonly incr_fn_dev_cac48b_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_dev_cac48b_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_dev_cac48b_free: (a: number, b: number) => void;
  readonly incr_fn_vwma_3a6971_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_vwma_3a6971_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_vwma_3a6971_free: (a: number, b: number) => void;
  readonly incr_fn_hma_532aa0_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_hma_532aa0_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_hma_532aa0_free: (a: number, b: number) => void;
  readonly incr_fn_lwma_f682d8_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_lwma_f682d8_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_lwma_f682d8_free: (a: number, b: number) => void;
  readonly incr_fn_wma_db949f_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_wma_db949f_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_wma_db949f_free: (a: number, b: number) => void;
  readonly incr_fn_rma_c4a61a_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_rma_c4a61a_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_rma_c4a61a_free: (a: number, b: number) => void;
  readonly incr_fn_ema_eabcc4_make: (a: number) => number;
  readonly incr_fn_ema_eabcc4_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_ema_eabcc4_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_ema_eabcc4_free: (a: number, b: number) => void;
  readonly incr_fn_sma_c468bf_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_sma_c468bf_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_sma_c468bf_free: (a: number, b: number) => void;
  readonly incr_fn_swma_8ec157_next: (a: number, b: any) => [number, number, number];
  readonly incr_fn_swma_8ec157_collect: (a: number, b: any) => [number, number, number, number];
  readonly __wbg_incr_fn_swma_8ec157_free: (a: number, b: number) => void;
  readonly incr_fn_lowest_e54ba1_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_lowest_e54ba1_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_lowest_e54ba1_free: (a: number, b: number) => void;
  readonly incr_fn_highest_9edcdf_make: (a: number) => number;
  readonly incr_fn_highest_9edcdf_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_highest_9edcdf_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_highest_9edcdf_free: (a: number, b: number) => void;
  readonly incr_fn_lowestbars_f06605_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_lowestbars_f06605_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_lowestbars_f06605_free: (a: number, b: number) => void;
  readonly incr_fn_highestbars_23b181_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_highestbars_23b181_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_highestbars_23b181_free: (a: number, b: number) => void;
  readonly incr_fn_cross_78e5cb_make: (a: number) => number;
  readonly incr_fn_cross_78e5cb_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_cross_78e5cb_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_cross_78e5cb_free: (a: number, b: number) => void;
  readonly incr_fn_crossunder_12e9cf_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_crossunder_12e9cf_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_crossunder_12e9cf_free: (a: number, b: number) => void;
  readonly incr_fn_crossover_e509b3_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_crossover_e509b3_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_crossover_e509b3_free: (a: number, b: number) => void;
  readonly incr_fn_roc_5ead0b_next: (a: number, b: any, c: any) => [number, number, number];
  readonly incr_fn_roc_5ead0b_collect: (a: number, b: any, c: any) => [number, number, number, number];
  readonly __wbg_incr_fn_roc_5ead0b_free: (a: number, b: number) => void;
  readonly incr_fn_barssince_86a109_make: (a: number) => number;
  readonly incr_fn_barssince_86a109_next: (a: number, b: any) => [number, number, number];
  readonly incr_fn_barssince_86a109_collect: (a: number, b: any) => [number, number, number, number];
  readonly __wbg_incr_fn_barssince_86a109_free: (a: number, b: number) => void;
  readonly incr_fn_change_2683fb_make: (a: number) => number;
  readonly incr_fn_change_2683fb_next: (a: number, b: any) => [number, number, number];
  readonly incr_fn_change_2683fb_collect: (a: number, b: any) => [number, number, number, number];
  readonly __wbg_incr_fn_change_2683fb_free: (a: number, b: number) => void;
  readonly incr_fn_cum_0aa26d_make: (a: number) => number;
  readonly incr_fn_cum_0aa26d_next: (a: number, b: any) => [number, number, number];
  readonly incr_fn_cum_0aa26d_collect: (a: number, b: any) => [number, number, number, number];
  readonly __wbg_incr_fn_cum_0aa26d_free: (a: number, b: number) => void;
  readonly incr_fn_accdist_da4b16_make: (a: number) => number;
  readonly incr_fn_accdist_da4b16_next: (a: number) => [number, number, number];
  readonly incr_fn_accdist_da4b16_collect: (a: number) => [number, number, number, number];
  readonly __wbg_incr_fn_accdist_da4b16_free: (a: number, b: number) => void;
  readonly incr_fn_price_oscillator_4b8bf9_make: (a: number) => number;
  readonly incr_fn_macd_11ef9e_make: (a: number) => number;
  readonly incr_fn_rma_c4a61a_make: (a: number) => number;
  readonly incr_fn_momentum_fe155f_make: (a: number) => number;
  readonly incr_fn_lwma_f682d8_make: (a: number) => number;
  readonly incr_fn_wma_db949f_make: (a: number) => number;
  readonly incr_fn_swma_8ec157_make: (a: number) => number;
  readonly incr_fn_roc_5ead0b_make: (a: number) => number;
  readonly incr_fn_fwma_b0c1e1_make: (a: number) => number;
  readonly incr_fn_elder_force_index_ce0163_make: (a: number) => number;
  readonly incr_fn_crossunder_12e9cf_make: (a: number) => number;
  readonly incr_fn_crossover_e509b3_make: (a: number) => number;
  readonly incr_fn_vwma_3a6971_make: (a: number) => number;
  readonly incr_fn_main_a2110e_make: (a: number) => number;
  readonly incr_fn_tr_ba70e0_make: (a: number) => number;
  readonly incr_fn_lowest_e54ba1_make: (a: number) => number;
  readonly incr_fn_lowestbars_f06605_make: (a: number) => number;
  readonly incr_fn_highestbars_23b181_make: (a: number) => number;
  readonly incr_fn_williams_pct_r_8d8aee_make: (a: number) => number;
  readonly incr_fn_hma_532aa0_make: (a: number) => number;
  readonly incr_fn_stdev_fab2d0_make: (a: number) => number;
  readonly incr_fn_sma_c468bf_make: (a: number) => number;
  readonly incr_fn_bollinger_bands_width_ee0f57_make: (a: number) => number;
  readonly incr_fn_bollinger_bands_pct_b_8b7a76_make: (a: number) => number;
  readonly incr_fn_cci_2b8ab4_make: (a: number) => number;
  readonly backtest_wasm_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
  readonly backtest_wasm_initial_capital: (a: number) => number;
  readonly backtest_wasm_process_orders_on_close: (a: number) => number;
  readonly backtest_wasm_ctx: (a: number) => number;
  readonly backtest_wasm_equity: (a: number) => number;
  readonly backtest_wasm_equity_list: (a: number) => [number, number];
  readonly backtest_wasm_net_equity: (a: number) => number;
  readonly backtest_wasm_net_equity_list: (a: number) => [number, number];
  readonly backtest_wasm_pnl_list: (a: number) => [number, number];
  readonly backtest_wasm_open_profit: (a: number) => number;
  readonly backtest_wasm_net_profit: (a: number) => number;
  readonly backtest_wasm_net_profit_pct: (a: number) => number;
  readonly backtest_wasm_gross_profit: (a: number) => number;
  readonly backtest_wasm_gross_profit_pct: (a: number) => number;
  readonly backtest_wasm_gross_loss: (a: number) => number;
  readonly backtest_wasm_gross_loss_pct: (a: number) => number;
  readonly backtest_wasm_win_rate: (a: number) => number;
  readonly backtest_wasm_profit_factor: (a: number) => number;
  readonly backtest_wasm_avg_trade: (a: number) => number;
  readonly backtest_wasm_avg_winning_trade: (a: number) => number;
  readonly backtest_wasm_avg_losing_trade: (a: number) => number;
  readonly backtest_wasm_avg_win_loss_ratio: (a: number) => number;
  readonly backtest_wasm_returns_list: (a: number) => [number, number];
  readonly backtest_sharpeRatio: (a: number) => number;
  readonly backtest_sortinoRatio: (a: number) => number;
  readonly backtest_expectancy: (a: number) => number;
  readonly backtest_wasm_winning_trades_count: (a: number) => number;
  readonly backtest_wasm_losing_trades_count: (a: number) => number;
  readonly backtest_wasm_position_size: (a: number) => number;
  readonly backtest_wasm_open_trades: (a: number) => [number, number];
  readonly backtest_wasm_closed_trades: (a: number) => [number, number];
  readonly backtest_wasm_trades: (a: number) => [number, number];
  readonly backtest_wasm_open_longs_count: (a: number) => number;
  readonly backtest_wasm_open_shorts_count: (a: number) => number;
  readonly backtest_wasm_closed_longs_count: (a: number) => number;
  readonly backtest_wasm_closed_shorts_count: (a: number) => number;
  readonly backtest_wasm_first_entry_bar_index: (a: number) => number;
  readonly backtest_wasm_instrument_size: (a: number) => number;
  readonly backtest_onBarOpen: (a: number) => void;
  readonly backtest_onBarClose: (a: number) => void;
  readonly backtest_signal: (a: number, b: number) => void;
  readonly backtest_signalList: (a: number, b: any) => void;
  readonly backtest_signalMap: (a: number, b: any) => void;
  readonly backtest_skip: (a: number, b: number) => void;
  readonly backtest_length: (a: number) => number;
  readonly backtest_next: (a: number) => number;
  readonly backtest_toPine: (a: number) => [number, number];
  readonly backtest_display: (a: number) => void;
  readonly __wbg_backtest_free: (a: number, b: number) => void;
  readonly sym_new: () => number;
  readonly sym_wasm_id: (a: number) => [number, number];
  readonly sym_wasm_set_id: (a: number, b: number, c: number) => void;
  readonly sym_wasm_ticker_id: (a: number) => [number, number];
  readonly sym_wasm_set_ticker_id: (a: number, b: number, c: number) => void;
  readonly sym_wasm_kind: (a: number) => number;
  readonly sym_wasm_set_kind: (a: number, b: number) => void;
  readonly sym_wasm_min_tick: (a: number) => number;
  readonly sym_wasm_set_min_tick: (a: number, b: number) => void;
  readonly sym_wasm_min_qty: (a: number) => number;
  readonly sym_wasm_set_min_qty: (a: number, b: number) => void;
  readonly sym_wasm_prefix: (a: number) => [number, number];
  readonly sym_wasm_set_prefix: (a: number, b: number, c: number) => void;
  readonly sym_wasm_currency: (a: number) => [number, number];
  readonly sym_wasm_set_currency: (a: number, b: number, c: number) => void;
  readonly sym_wasm_base_currency: (a: number) => [number, number];
  readonly sym_wasm_set_base_currency: (a: number, b: number, c: number) => void;
  readonly sym_wasm_ticker: (a: number) => [number, number];
  readonly sym_wasm_set_ticker: (a: number, b: number, c: number) => void;
  readonly sym_wasm_country: (a: number) => [number, number];
  readonly sym_wasm_set_country: (a: number, b: number, c: number) => void;
  readonly sym_wasm_price_scale: (a: number) => number;
  readonly sym_wasm_set_price_scale: (a: number, b: number) => void;
  readonly sym_wasm_point_value: (a: number) => number;
  readonly sym_wasm_set_point_value: (a: number, b: number) => void;
  readonly sym_wasm_metadata: (a: number) => [number, number];
  readonly sym_wasm_set_metadata: (a: number, b: number, c: number) => void;
  readonly sym_wasm_qty_scale: (a: number) => number;
  readonly sym_BTC_USD: () => number;
  readonly sym_ETH_USD: () => number;
  readonly sym_SOL_USD: () => number;
  readonly sym_DOGE_USD: () => number;
  readonly sym_toJSON: (a: number) => any;
  readonly sym_fromJSON: (a: any) => number;
  readonly sym_eq: (a: number, b: number) => number;
  readonly __wbg_sym_free: (a: number, b: number) => void;
  readonly symkind_toString: (a: number) => [number, number];
  readonly symkind_fromString: (a: number, b: number) => number;
  readonly symkind_Stock: () => number;
  readonly symkind_Future: () => number;
  readonly symkind_Option: () => number;
  readonly symkind_Crypto: () => number;
  readonly symkind_Forex: () => number;
  readonly symkind_Unknown: () => number;
  readonly symkind_Other: (a: number, b: number) => number;
  readonly symkind_eq: (a: number, b: number) => number;
  readonly symkind_wasm_periods: (a: number) => number;
  readonly __wbg_symkind_free: (a: number, b: number) => void;
  readonly zipOhlcvBars: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number) => [number, number];
  readonly ohlcv_wasm_new: () => number;
  readonly ohlcv_fromBars: (a: number, b: number) => number;
  readonly ohlcv_wasm_timeframe: (a: number) => number;
  readonly ohlcv_wasm_set_timeframe: (a: number, b: number) => void;
  readonly ohlcv_wasm_open_time: (a: number) => any;
  readonly ohlcv_wasm_close_time: (a: number) => any;
  readonly ohlcv_wasm_open: (a: number) => [number, number];
  readonly ohlcv_wasm_high: (a: number) => [number, number];
  readonly ohlcv_wasm_low: (a: number) => [number, number];
  readonly ohlcv_wasm_close: (a: number) => [number, number];
  readonly ohlcv_wasm_volume: (a: number) => [number, number];
  readonly ohlcv_wasm_bars: (a: number) => [number, number];
  readonly ohlcv_at: (a: number, b: number) => number;
  readonly ohlcv_wasm_length: (a: number) => number;
  readonly ohlcv_slice: (a: number, b: number, c: number) => number;
  readonly ohlcv_head: (a: number, b: number) => number;
  readonly ohlcv_tail: (a: number, b: number) => number;
  readonly ohlcv_copy: (a: number) => number;
  readonly ohlcv_extend: (a: number, b: number) => void;
  readonly ohlcv_resample: (a: number, b: number, c: number) => number;
  readonly ohlcv_sort: (a: number, b: number) => void;
  readonly ohlcv_reverse: (a: number) => void;
  readonly ohlcv_clear: (a: number) => void;
  readonly ohlcv_pop: (a: number) => number;
  readonly ohlcv_shift: (a: number) => number;
  readonly ohlcv_push: (a: number, b: number) => void;
  readonly ohlcv_pushMany: (a: number, b: number, c: number) => void;
  readonly ohlcv_toString: (a: number) => [number, number];
  readonly ohlcv_ref: (a: number) => number;
  readonly __wbg_ohlcv_free: (a: number, b: number) => void;
  readonly ohlcvbar_wasm_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => number;
  readonly ohlcvbar_wasm_open_time: (a: number) => any;
  readonly ohlcvbar_wasm_close_time: (a: number) => any;
  readonly ohlcvbar_wasm_open: (a: number) => number;
  readonly ohlcvbar_wasm_high: (a: number) => number;
  readonly ohlcvbar_wasm_low: (a: number) => number;
  readonly ohlcvbar_wasm_close: (a: number) => number;
  readonly ohlcvbar_wasm_volume: (a: number) => number;
  readonly ohlcvbar_merge: (a: number, b: number) => number;
  readonly ohlcvbar_toString: (a: number) => [number, number];
  readonly ohlcvbar_toJSON: (a: number) => any;
  readonly ohlcvbar_fromJSON: (a: any) => number;
  readonly signal_Hold: () => number;
  readonly signal_Size: (a: number) => number;
  readonly signal_EquityPct: (a: number) => number;
  readonly signal_CloseAll: () => number;
  readonly signal_Long: () => number;
  readonly signal_Short: () => number;
  readonly signal_wasm_id: (a: number) => [number, number];
  readonly signal_wasm_set_id: (a: number, b: number, c: number) => void;
  readonly signal_wasm_comment: (a: number) => [number, number];
  readonly signal_wasm_set_comment: (a: number, b: number, c: number) => void;
  readonly __wbg_signal_free: (a: number, b: number) => void;
  readonly __wbg_ohlcvbar_free: (a: number, b: number) => void;
  readonly ctxskip_end: () => number;
  readonly ctxskip_bars: (a: number) => number;
  readonly ctxskip_barIndex: (a: number) => number;
  readonly ctxskip_openTimeEq: (a: any) => number;
  readonly ctxskip_openTimeGeq: (a: any) => number;
  readonly __wbg_ctxskip_free: (a: number, b: number) => void;
  readonly ctx_wasm_new: (a: number, b: number) => number;
  readonly ctx_wasm_bar_index: (a: number) => number;
  readonly ctx_wasm_bar: (a: number) => number;
  readonly ctx_wasm_is_initialized: (a: number) => number;
  readonly ctx_wasm_sym: (a: number) => number;
  readonly ctx_wasm_ohlcv: (a: number) => number;
  readonly ctx_copy: (a: number) => number;
  readonly ctx_reset: (a: number) => void;
  readonly ctx_next: (a: number) => number;
  readonly ctx_wasm_length: (a: number) => number;
  readonly ctx_ref: (a: number) => number;
  readonly __wbg_ctx_free: (a: number, b: number) => void;
  readonly trade_wasm_size: (a: number) => number;
  readonly trade_wasm_entry: (a: number) => number;
  readonly trade_wasm_exit: (a: number) => number;
  readonly trade_wasm_pnl: (a: number) => number;
  readonly trade_wasm_direction: (a: number) => number;
  readonly trade_wasm_is_active: (a: number) => number;
  readonly trade_wasm_is_closed: (a: number) => number;
  readonly tradeevent_wasm_id: (a: number) => [number, number];
  readonly tradeevent_wasm_order_bar_index: (a: number) => number;
  readonly tradeevent_wasm_fill_bar_index: (a: number) => number;
  readonly tradeevent_wasm_price: (a: number) => number;
  readonly tradeevent_wasm_comment: (a: number) => [number, number];
  readonly tradedirection_Long: (a: number) => number;
  readonly tradedirection_Short: (a: number) => number;
  readonly tradedirection_toNumber: (a: number) => number;
  readonly tradedirection_fromNumber: (a: number) => number;
  readonly __wbg_tradedirection_free: (a: number, b: number) => void;
  readonly timeframe_toString: (a: number) => [number, number];
  readonly timeframe_fromString: (a: number, b: number) => number;
  readonly timeframe_Years: (a: number) => number;
  readonly timeframe_Months: (a: number) => number;
  readonly timeframe_Weeks: (a: number) => number;
  readonly timeframe_Days: (a: number) => number;
  readonly timeframe_Hours: (a: number) => number;
  readonly timeframe_Minutes: (a: number) => number;
  readonly timeframe_Seconds: (a: number) => number;
  readonly timeframe_Ticks: (a: number) => number;
  readonly timeframe_Ranges: (a: number) => number;
  readonly timeframe_Unknown: () => number;
  readonly timeframe_wasm_years: (a: number) => number;
  readonly timeframe_wasm_months: (a: number) => number;
  readonly timeframe_wasm_weeks: (a: number) => number;
  readonly timeframe_wasm_days: (a: number) => number;
  readonly timeframe_wasm_hours: (a: number) => number;
  readonly timeframe_wasm_minutes: (a: number) => number;
  readonly timeframe_wasm_seconds: (a: number) => number;
  readonly timeframe_wasm_ticks: (a: number) => number;
  readonly timeframe_wasm_ranges: (a: number) => number;
  readonly timeframe_wasm_unknown: (a: number) => number;
  readonly timeframe_eq: (a: number, b: number) => number;
  readonly timeframe_toDurationS: (a: number) => [number, number, number];
  readonly timeframe_fromDurationS: (a: number) => number;
  readonly __wbg_timeframe_free: (a: number, b: number) => void;
  readonly __wbg_trade_free: (a: number, b: number) => void;
  readonly __wbg_tradeevent_free: (a: number, b: number) => void;
  readonly _getCoreVersion: () => [number, number];
  readonly orderSizeForEquityPct: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
  readonly orderSize: (a: number, b: number, c: number, d: number, e: number) => number;
  readonly validateContracts: (a: number, b: number) => number;
  readonly roundContracts: (a: number, b: number, c: number) => number;
  readonly roundToMinTick: (a: number, b: number) => number;
  readonly annualization_factor: (a: number, b: number) => number;
  readonly f1: (a: number, b: number) => number;
  readonly precision: (a: number, b: number) => number;
  readonly accuracy: (a: number, b: number, c: number, d: number) => number;
  readonly grossLossPct: (a: number, b: number) => number;
  readonly omegaRatioFromReturns: (a: number, b: number, c: number) => number;
  readonly omegaRatio: (a: number, b: number, c: number) => number;
  readonly sortinoRatioFromReturns: (a: number, b: number, c: number) => number;
  readonly sharpeRatioFromReturns: (a: number, b: number, c: number) => number;
  readonly avgWinLossRatio: (a: number, b: number) => number;
  readonly avgLosingTrade: (a: number, b: number) => number;
  readonly winRate: (a: number, b: number) => number;
  readonly longNetProfitRatio: (a: number, b: number) => number;
  readonly pnl: (a: number, b: number, c: number) => number;
  readonly expectancyScore: (a: number, b: number) => number;
  readonly expectancy: (a: number, b: number) => number;
  readonly returns: (a: number, b: number, c: number) => [number, number];
  readonly stdev: (a: number, b: number) => number;
  readonly variance: (a: number, b: number) => number;
  readonly mean: (a: number, b: number) => number;
  readonly sum: (a: number, b: number) => number;
  readonly shortNetProfitPct: (a: number, b: number) => number;
  readonly longNetProfitPct: (a: number, b: number) => number;
  readonly grossProfitPct: (a: number, b: number) => number;
  readonly netProfitPct: (a: number, b: number) => number;
  readonly profitFactor: (a: number, b: number) => number;
  readonly sortinoRatio: (a: number, b: number, c: number) => number;
  readonly sharpeRatio: (a: number, b: number, c: number) => number;
  readonly recall: (a: number, b: number) => number;
  readonly avgWinningTrade: (a: number, b: number) => number;
  readonly avgTrade: (a: number, b: number) => number;
  readonly __wbindgen_exn_store: (a: number) => void;
  readonly __externref_table_alloc: () => number;
  readonly __wbindgen_export_2: WebAssembly.Table;
  readonly __wbindgen_malloc: (a: number, b: number) => number;
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
  readonly __externref_table_dealloc: (a: number) => void;
  readonly __externref_drop_slice: (a: number, b: number) => void;
  readonly __wbindgen_free: (a: number, b: number, c: number) => void;
  readonly closure79_externref_shim: (a: number, b: number, c: any, d: any) => void;
  readonly __wbindgen_start: () => void;
}

export type SyncInitInput = BufferSource | WebAssembly.Module;
/**
* Instantiates the given `module`, which can either be bytes or
* a precompiled `WebAssembly.Module`.
*
* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
*
* @returns {InitOutput}
*/
export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;

/**
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
* for everything else, calls `WebAssembly.instantiate` directly.
*
* @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
*
* @returns {Promise<InitOutput>}
*/
export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;
