export declare enum ModelType { Note = 1, Folder = 2, Setting = 3, Resource = 4, Tag = 5, NoteTag = 6, Search = 7, Alarm = 8, MasterKey = 9, ItemChange = 10, NoteResource = 11, ResourceLocalState = 12, Revision = 13, Migration = 14, SmartFilter = 15, Command = 16 } declare class BaseModel { static typeEnum_: any[]; static TYPE_NOTE: ModelType; static TYPE_FOLDER: ModelType; static TYPE_SETTING: ModelType; static TYPE_RESOURCE: ModelType; static TYPE_TAG: ModelType; static TYPE_NOTE_TAG: ModelType; static TYPE_SEARCH: ModelType; static TYPE_ALARM: ModelType; static TYPE_MASTER_KEY: ModelType; static TYPE_ITEM_CHANGE: ModelType; static TYPE_NOTE_RESOURCE: ModelType; static TYPE_RESOURCE_LOCAL_STATE: ModelType; static TYPE_REVISION: ModelType; static TYPE_MIGRATION: ModelType; static TYPE_SMART_FILTER: ModelType; static TYPE_COMMAND: ModelType; protected static dispatch: Function; private static saveMutexes_; private static db_; static modelType(): ModelType; static tableName(): string; static setDb(db: any): void; static addModelMd(model: any): any; static logger(): any; static useUuid(): boolean; static byId(items: any[], id: string): any; static defaultValues(fieldNames: string[]): any; static modelIndexById(items: any[], id: string): number; static modelsByIds(items: any[], ids: string[]): any[]; static idsEqual(id1: string, id2: string): boolean; static modelTypeToName(type: number): any; static modelNameToType(name: string): any; static hasField(name: string): boolean; static fieldNames(withPrefix?: boolean): any; static fieldType(name: string, defaultValue?: any): any; static fields(): any; static removeUnknownFields(model: any): any; static new(): any; static modOptions(options: any): any; static count(options?: any): any; static load(id: string, options?: any): any; static shortId(id: string): string; static loadByPartialId(partialId: string): any; static applySqlOptions(options: any, sql: string, params?: any[]): { sql: string; params: any[]; }; static allIds(options?: any): Promise; static all(options?: any): Promise; static byIds(ids: string[], options?: any): Promise; static search(options?: any): Promise; static modelSelectOne(sql: string, params?: any[]): any; static modelSelectAll(sql: string, params?: any[]): any; static loadByField(fieldName: string, fieldValue: any, options?: any): any; static loadByFields(fields: string[], options?: any): any; static loadByTitle(fieldValue: any): any; static diffObjects(oldModel: any, newModel: any): any; static diffObjectsFields(oldModel: any, newModel: any): string[]; static modelsAreSame(oldModel: any, newModel: any): boolean; static saveMutex(modelOrId: any): any; static releaseSaveMutex(modelOrId: any, release: Function): any; static saveQuery(o: any, options: any): any; static userSideValidation(o: any): void; static save(o: any, options?: any): Promise; static isNew(object: any, options: any): boolean; static filterArray(models: any[]): any[]; static filter(model: any): any; static delete(id: string): any; static batchDelete(ids: string[], options?: any): any; static db(): any; static isReady(): boolean; } export default BaseModel;