import { VInsType, VSortOrder } from "../enum";
import { TccErrorListener } from ".";
interface IArrayArgs {
    id?: IPseudoArray;
    id1?: IPseudoArray;
    id2?: IPseudoArray;
    size?: number;
    initial_value?: any;
    index_from?: number;
    index_to?: number;
    val?: number;
    biased?: boolean;
    value?: any;
    index?: number;
    separator?: string;
    nth?: number;
    percentage?: number;
    order?: VSortOrder;
    type?: string;
}
export default class BuildInArray {
    private _errorListener;
    constructor(errorListener: TccErrorListener);
    new({ size, initial_value, type }: IArrayArgs | undefined, posStr: string): IPseudoArray;
    new_float({ size, initial_value }: IArrayArgs | undefined, posStr: string): IPseudoArray;
    new_int({ size, initial_value }: IArrayArgs | undefined, posStr: string): IPseudoArray;
    new_color({ size, initial_value }: IArrayArgs | undefined, posStr: string): IPseudoArray;
    new_bool({ size, initial_value }: IArrayArgs | undefined, posStr: string): IPseudoArray;
    new_string({ size, initial_value }: IArrayArgs | undefined, posStr: string): IPseudoArray;
    new_line({ size, initial_value }: IArrayArgs | undefined, posStr: string): IPseudoArray;
    new_box({ size, initial_value }: IArrayArgs | undefined, posStr: string): IPseudoArray;
    new_table({ size, initial_value }: IArrayArgs | undefined, posStr: string): IPseudoArray;
    new_linefill({ size, initial_value }: IArrayArgs | undefined, posStr: string): IPseudoArray;
    new_label({ size, initial_value }: IArrayArgs | undefined, posStr: string): IPseudoArray;
    copy({ id }: IArrayArgs): IPseudoArray | undefined;
    slice({ id, index_from, index_to }: IArrayArgs): IPseudoArray | undefined;
    size({ id }: IArrayArgs): number | undefined;
    first({ id }: IArrayArgs): any;
    abs({ id }: IArrayArgs, posStr: string): IPseudoArray | undefined;
    avg({ id }: IArrayArgs, posStr: string): number | undefined;
    binary_search({ id, val }: IArrayArgs, posStr: string): number | undefined;
    binary_search_leftmost({ id, val }: IArrayArgs, posStr: string): number | undefined;
    binary_search_rightmost({ id, val }: IArrayArgs, posStr: string): number | undefined;
    clear({ id }: IArrayArgs): void;
    concat({ id1, id2 }: IArrayArgs, posStr: string): IPseudoArray | undefined;
    covariance({ id1, id2, biased }: IArrayArgs, posStr: string): number | undefined;
    every({ id }: IArrayArgs, posStr: string): boolean | undefined;
    from(_: any, arrVals: any[]): IPseudoArray;
    fill({ id, value, index_from, index_to }: IArrayArgs): void;
    fillArr(arr: any[], value: any, index_from: number, index_to: number): any[];
    get({ id, index }: IArrayArgs): any;
    includes({ id, value }: IArrayArgs): boolean | undefined;
    indexof({ id, value }: IArrayArgs): number | undefined;
    insert({ id, index, value }: IArrayArgs, posStr?: string): void;
    insertArr(arr: any[], index: number, value: any): void;
    join({ id, separator }: IArrayArgs, posStr: string): string | undefined;
    last({ id }: IArrayArgs): any;
    lastindexof({ id, value }: IArrayArgs): number | undefined;
    max(arg: IArrayArgs, posStr: string): number | undefined;
    median({ id }: IArrayArgs, posStr: string): number | undefined;
    min({ id, nth }: IArrayArgs, posStr: string): number | undefined;
    mode({ id }: IArrayArgs, posStr: string): number | undefined;
    percentile_linear_interpolation({ id, percentage }: IArrayArgs, posStr: string): number | undefined;
    percentile_nearest_rank({ id, percentage }: IArrayArgs, posStr: string): number | undefined;
    percentrank({ id, index }: IArrayArgs, posStr: string): number | undefined;
    pop({ id }: IArrayArgs): any;
    push({ id, value }: IArrayArgs, posStr: string): void;
    range({ id }: IArrayArgs, posStr: string): number | undefined;
    remove({ id, index }: IArrayArgs): any;
    reverse({ id }: IArrayArgs): void;
    set({ id, index, value }: IArrayArgs, posStr?: string): void;
    private _verify;
    shift({ id }: IArrayArgs): any;
    some({ id }: IArrayArgs, posStr: string): boolean | undefined;
    sort({ id, order }: IArrayArgs, posStr: string): void;
    sort_indices({ id, order }: IArrayArgs, posStr: string): IPseudoArray | undefined;
    standardize({ id }: IArrayArgs, posStr: string): IPseudoArray | undefined;
    private _verifyArrayLen;
    stdev({ id, biased }: IArrayArgs, posStr: string): number | undefined;
    sum({ id }: IArrayArgs, posStr: string): any;
    unshift({ id, value }: IArrayArgs, posStr: string): void;
    variance({ id, biased }: IArrayArgs, posStr: string): number | undefined;
    private _calculateVariances;
    private _calculateStandardDeviations;
    private _standardizeArray;
    private _getPercentileRank;
    private _getNearestRankPercentile;
    private _percentileLinearInterpolation;
    private _mode;
    private _median;
    private _minNth;
    private _maxNth;
    private _setElements;
    private _covariance;
    private _verifySimpleType;
    private _binarySearch;
    private _binarySearchLeftMost;
    private _binarySearchRightMost;
    createPseudoArrayWithArray(array: any[], type?: string): IPseudoArray;
}
export interface IPseudoArray {
    isArray: boolean;
    typeName?: string;
    type: VInsType;
    _isNumber: boolean;
    _value: any[];
}
export declare function createPseudoArray(size?: number, initialValue?: any, type?: string): IPseudoArray;
export {};
