/**
* Defines projection parameters with list if fields to include into query results.
*
* The parameters support two formats: dot format and nested format.
*
* The dot format is the standard way to define included fields and subfields using
* dot object notation: "field1,field2.field21,field2.field22.field221"
.
*
* As alternative the nested format offers a more compact representation:
* "field1,field2(field21,field22(field221))"
.
*
* ### Example ###
*
* let filter = FilterParams.fromTuples("type", "Type1");
* let paging = new PagingParams(0, 100);
* let projection = ProjectionParams.fromString("field1,field2(field21,field22)")
*
* myDataClient.getDataByFilter(filter, paging, projection, (err, page) => {...});
*
*/
export declare class ProjectionParams extends Array {
/**
* Creates a new instance of the projection parameters and assigns its value.
*
* @param value (optional) values to initialize this object.
*/
constructor(values?: any[]);
/**
* Gets a string representation of the object.
* The result is a comma-separated list of projection fields
* "field1,field2.field21,field2.field22.field221"
*
* @returns a string representation of the object.
*/
toString(): string;
private static parseValue;
/**
* Converts specified value into ProjectionParams.
*
* @param value value to be converted
* @returns a newly created ProjectionParams.
*
* @see [[AnyValueArray.fromValue]]
*/
static fromValue(value: any): ProjectionParams;
/**
* Parses comma-separated list of projection fields.
*
* @param values one or more comma-separated lists of projection fields
* @returns a newly created ProjectionParams.
*/
static fromString(...values: string[]): ProjectionParams;
}