import { Model, RelationMappings } from 'objection'; import { ContentLeaf } from './content-leaf'; import { AbstractModel } from './abstract-model'; import { Locale } from './locale'; import { TagSystem } from './tag-system'; import { BookType, IAttributes } from '@heduapp/book-objects/business-object'; export declare enum ContentGroupTypes { Book = "BOOK", Chapter = "CHAPTER", WorksheetBook = "WORKSHEET_BOOK", WorksheetChapter = "WORKSHEET_CHAPTER", PreparationsBook = "PREPARATIONS_BOOK", PreparationsChapter = "PREPARATIONS_CHAPTER", TestsBook = "TESTS_BOOK", TestsChapter = "TESTS_CHAPTER", MixtureBook = "MIXTURE_BOOK", MixtureChapter = "MIXTURE_CHAPTER" } export declare class ContentGroup extends AbstractModel { type: ContentGroupTypes; localeId: number; title: string; readonly uuid: string; readonly name: string | null; attributes: IAttributes; readonly id: number; parentId?: number; sortOrder?: number; readonly created: Date; readonly modified: Date; readonly deleted?: Date; parent?: ContentGroup; children: ContentGroup[]; contentLeafs: ContentLeaf[]; systemTags: TagSystem[]; locale?: Locale; constructor(type: ContentGroupTypes, localeId: number, title?: string, uuid?: string, name?: string | null, attributes?: IAttributes); static tableName: string; static jsonSchema: { type: string; required: string[]; properties: { id: { type: string; }; uuid: { type: string; minLength: number; maxLength: number; }; title: { type: string; }; name: { type: string[]; }; parent: { type: string[]; }; sortOrder: { type: string; default: number; }; type: { type: string; enum: ContentGroupTypes[]; }; localeId: { type: string; }; attributes: { type: string; }; }; }; static relationMappings: RelationMappings; $beforeInsert(): void; remove(): import("objection").QueryBuilder; get bookType(): BookType; static isBook(type: ContentGroupTypes): boolean; get isBook(): boolean; static isChapter(type: ContentGroupTypes): boolean; get isChapter(): boolean; }