import type { IGrammarBase, DataSpec, IData, GrammarType, DataFormatSpec, IView, TransformSpec, ParameterFunctionType, IDataFilter } from '../types';
import { GrammarBase } from './grammar-base';
import type { Nil } from '../types/base';
export declare class Data extends GrammarBase implements IData {
    readonly grammarType: GrammarType;
    protected spec: DataSpec;
    private _dataIDKey;
    private _input;
    private _values;
    private _isLoaded?;
    private _loadTasks;
    private _postFilters;
    constructor(view: IView, values?: any, format?: DataFormatSpec);
    parse(spec: DataSpec): this;
    private parseDataSource;
    private ingest;
    private load;
    private relay;
    evaluate(upstream: any, parameters: any): this;
    output(): any[];
    getDataIDKey(): string;
    values(values: any | Nil, format?: ParameterFunctionType<DataFormatSpec>, load?: boolean): this;
    url(url: ParameterFunctionType<string> | Nil, format?: ParameterFunctionType<DataFormatSpec>, load?: boolean): this;
    source(source: string | string[] | IData | IData[] | Nil, format?: ParameterFunctionType<DataFormatSpec>, load?: boolean): this;
    private parseLoad;
    private setValues;
    field(field: string): any[];
    transform(transforms: TransformSpec[] | Nil): this;
    getValue(): any[];
    getInput(): any[];
    addDataFilter(filter: IDataFilter | IDataFilter[]): this;
    removeDataFilter(filter: IDataFilter | IDataFilter[]): this;
    private _evaluateFilter;
    reuse(grammar: IGrammarBase): this;
    clear(): void;
}
