import { IQL, OrderBy } from './types/iql';
import { SelectCase, Selectors, Workspace } from './types/models';
export declare const replaceSingleQuote: (val: string) => string;
export declare const mergeNameToSelectors: (name: string, selectors: Selectors) => Selectors;
export declare const getNameBySectors: (selectors: Selectors) => string;
export declare const makeNameSelectorCase: (name: string) => SelectCase;
export declare const selectorToIql: (selectors: Selectors) => IQL;
/**
 * 排除IQL函数体里面的内容
 * @param iql IQL
 * @returns 排除后的IQL
 */
export declare const excludeIqlFunctionContext: (iql: IQL) => IQL;
export declare const buildOrderBy: (orderBys: OrderBy[]) => IQL;
export declare const hasOrderBy: (iql: IQL) => boolean;
export declare const withOrderBy: (iql: IQL, orderBys?: OrderBy[]) => IQL;
export declare const hasWorksapce: (iql: IQL) => boolean;
export declare const hasItemType: (iql: IQL) => boolean;
export declare const withWorkspace: (iql: IQL, workspace: Workspace) => IQL;
export declare const withItemType: (iql: IQL, itemType: string) => IQL;
/**
 * 合并IQL语句
 *
 * 如果 源IQL 带有排序信息 就用原来的排序
 * 如果没有就用 目标IQL 的排序
 *
 * @param sourceIQL 源IQL
 * @param targetIQL 目标IQL
 * @returns 合并后的IQL
 */
export declare const mergeIQL: (sourceIQL: IQL, targetIQL: IQL) => IQL;
