import { ConditionWithValueQuery, FieldType, FieldTypeOf, FieldTypeOfCondition, FunctionExp, GroupByClause, HavingClause, NegationCondition, OrderByClause, Query, Subquery, ValueQueryCondition, WhereClause, WithDataCategoryClause } from '../api/api-models'; export declare function renderFn(fn: FunctionExp): string; export declare function renderFieldText(field: Exclude): string; export declare function renderTypeOfParts(field: FieldTypeOf): string[]; export declare function renderTypeOfCondition(condition: FieldTypeOfCondition): string; export declare function renderFrom(query: Query | Subquery): string; export type NonNegationCondition = Exclude; export type SimpleCondition = Exclude; export declare function renderConditionLhs(condition: NonNegationCondition): string; export declare function renderConditionValue(condition: SimpleCondition): string; export declare function renderGroupByItem(groupBy: GroupByClause): string; export declare function renderOrderByItem(orderBy: OrderByClause): string; export declare function renderWithDataCategory(withDataCategory: WithDataCategoryClause): string; export declare function hasGroupBy(query: Query | Subquery): boolean; export declare function hasOrderBy(query: Query | Subquery): boolean; export declare function asArray(value: T | T[]): T[]; export type ClausePart = { kind: 'select'; fields: FieldType[]; } | { kind: 'value'; keyword: string; value: string; } | { kind: 'bare'; keyword: string; } | { kind: 'list'; keyword: string; items: string[]; } | { kind: 'conditions'; keyword: string; clause: WhereClause | HavingClause; }; export declare function queryClauses(query: Query | Subquery): Generator;