import { IKeyObjectValue } from "../../../type";
interface IMathArgs {
    number?: 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 _cacheData;
    private _barIndex;
    constructor(mintick: number);
    get _mathCacheData(): IKeyObjectValue;
    set _mathCacheData(val: IKeyObjectValue);
    update(barIndex: number): void;
    abs({ number }: IMathArgs): number;
    acos({ angle }: IMathArgs): number;
    asin({ angle }: IMathArgs): number;
    atan({ angle }: IMathArgs): number;
    avg(_: IMathArgs, numbers: number[]): number;
    ceil({ number }: IMathArgs): number;
    floor({ number }: IMathArgs): number;
    cos({ angle }: IMathArgs): number;
    sin({ angle }: IMathArgs): number;
    tan({ angle }: IMathArgs): number;
    exp({ number }: IMathArgs): number;
    log({ number }: IMathArgs): number;
    log10({ number }: 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({ number, precision }: IMathArgs): number;
    round_to_mintick({ number }: IMathArgs): number;
    sign({ number }: IMathArgs): number | undefined;
    sqrt({ number }: IMathArgs): number;
    sum({ source, length }: IMathArgs, posStr: string): number | undefined;
    todegrees({ radians }: IMathArgs): number;
    toradians({ degrees }: IMathArgs): number;
}
export {};
