import { IKeyObjectValue } from "../../../type";
interface IMathArgs {
    number?: number;
    x?: number;
    angle?: number;
    base?: number;
    exponent?: number;
    min?: number;
    max?: number;
    seed?: number;
    precision?: number;
    source?: number;
    length?: number;
    radians?: number;
    degrees?: number;
}
export default class BuildInMath {
    private _mintick;
    private _mathCacheDataLoc;
    private _barIndex;
    constructor(mintick: number);
    get _mathCacheData(): IKeyObjectValue;
    set _mathCacheData(val: IKeyObjectValue);
    updateMath(barIndex: number): void;
    abs({ x }: IMathArgs): number;
    acos({ x }: IMathArgs): number;
    asin({ x }: IMathArgs): number;
    atan({ x }: IMathArgs): number;
    avg(_: IMathArgs, numbers: number[]): number;
    ceil({ x }: IMathArgs): number;
    floor({ x }: IMathArgs): number;
    cos({ x }: IMathArgs): number;
    sin({ x }: IMathArgs): number;
    tan({ x }: IMathArgs): number;
    exp({ x }: IMathArgs): number;
    log({ x }: IMathArgs): number;
    log10({ x }: IMathArgs): number;
    max(_: IMathArgs, numbers: number[]): number | undefined;
    min(_: IMathArgs, numbers: number[]): number | undefined;
    pow({ base, exponent }: IMathArgs): number;
    random({ min, max, seed }: IMathArgs): number;
    round({ x, number, precision }: IMathArgs): number;
    round_to_mintick({ x }: IMathArgs): number;
    sign({ x }: IMathArgs): number | undefined;
    sqrt({ x }: IMathArgs): number;
    sum({ source, length }: IMathArgs, posStr: string): number | undefined;
    todegrees({ radians }: IMathArgs): number;
    toradians({ degrees }: IMathArgs): number;
}
export {};
