import { EntityDict, Ref, RefOrExpression, StorageSchema } from 'oak-domain/lib/types'; import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain'; import { DataType } from 'oak-domain/lib/types/schema/DataTypes'; import { SqlOperateOption, SqlSelectOption } from '../sqlTranslator'; import { MySqlTranslator } from '../MySQL/translator'; import { CreateEntityOption } from '../types/Translator'; export interface SQLiteSelectOption extends SqlSelectOption { } export interface SQLiteOperateOption extends SqlOperateOption { returning?: Record; } export declare class SQLiteTranslator extends MySqlTranslator { readonly maxIndexNameLength = 64; readonly maxAliasLength = 63; constructor(schema: StorageSchema); escapeStringValue(value: string): string; protected translateAttrValue(dataType: DataType, value: any): string; protected translateAttrProjection(dataType: DataType, alias: string, attr: string): string; protected translateObjectProjection(projection: Record | any[], alias: string, attr: string, path: string, resultColumnMap: Record): string; protected translateObjectPredicate(predicate: Record, alias: string, attr: string): string; private translateJsonScalar; private translateGeometryOperand; protected translatePredicate(predicate: string, value: any, type?: DataType | Ref): string; protected translateAttributePredicate(column: string, predicate: string, value: any, type?: DataType | Ref): string; private translateSQLiteFnName; protected translateExpression(entity: T, alias: string, expression: RefOrExpression, refDict: Record): string; protected populateSelectStmt(projectionText: string, fromText: string, aliasDict: Record, filterText: string, sorterText?: string, groupByText?: string, indexFrom?: number, count?: number, option?: SQLiteSelectOption): string; protected populateUpdateStmt(updateText: string, fromText: string, aliasDict: Record, filterText: string, sorterText?: string, indexFrom?: number, count?: number, option?: OP): string; protected populateRemoveStmt(updateText: string, fromText: string, aliasDict: Record, filterText: string, sorterText?: string, indexFrom?: number, count?: number, option?: OP): string; translateUpdate(entity: T, operation: ED[T]['Update'], option?: OP): { sql: string; resultColumnMap: {}; }; private buildReturningText; private populateSQLiteDataTypeDef; translateAttributeDef(attr: string, attrDef: any): string; translateCreateEntity(entity: T, options?: CreateEntityOption): string[]; translateFullTextSearch(searchValue: any, entity: T, alias: string): string; }