import { LogicalComponent } from '@mtna/data-query-ts'; import { Variable } from '@mtna/pojo-consumer-ts'; import { VariableSummary } from '@mtna/variable-service-core-ts'; import { RdsClassificationService, RdsVariableService } from '@rds/shared-api'; import { Observable } from 'rxjs'; import { MeasureSelection } from '../../measure-select/measure-selection.model'; import { BaseFilter, FilterDisplayType } from '../models'; /** * Uses the Tokenizer to desirialize a where clause into a LogicalComponent. * @param where RDS where clause */ export declare function deserializeWhereClause(where: string): LogicalComponent; /** * Async method to deserialize a LogicalComponent into the corresponding RDS Filters. * * @param logicalComponent output of deserializeWhereClause * @param classificationService rds service used to query classifications * @param variableService rds service used to query variables */ export declare function deserializeLogicalComponent(logicalComponent: LogicalComponent, classificationService: RdsClassificationService, variableService: RdsVariableService): Observable; /** * Serialize a single measure into a url param as `name:func(variableId)` * @param measure the measure to serialize * @return the string representation of the measure to use as URL parameters */ export declare function serializeMeasureToUrlParam(measure: MeasureSelection): string; /** * Deserialize a single measure from a url param as `name:func(variableId)` to a `MeasureSelection` * @param value string to deserialize back into a measure * @return the `MeasureSelection` object deserialized from the given string */ export declare function deserializeMeasureFromUrlParam(value: string, variables: Array): MeasureSelection | undefined; /** * Generate the RDS api where clause for the select query * @param filterState Filter display type * @param appliedFilters applied filters * @returns where clause */ export declare function serializeWhereClause(filterState: FilterDisplayType, appliedFilters: BaseFilter[]): string | null;