import { LEVEL_ENUM, Vertex, Entity, Schema, ActionOptions } from '..';
/**
 * 实体索引类
 */
export declare class EntityIndex extends Vertex implements Schema {
    /**
     * 概念类型
     */
    level: LEVEL_ENUM;
    /**
     * Id
     */
    readonly id: string;
    /**
     * 名称
     */
    readonly name: string;
    /**
     * 是否唯一
     */
    readonly unique: string;
    /**
     * 字段引用
     */
    readonly propertyIds: Array<string>;
    /**
     * 描述
     */
    readonly description: string;
    /**
     * 父级 Id
     */
    readonly entityId: string;
    /**
     *  父级引用
     */
    root: Entity;
    /**
     * @param source 需要合并的部分参数
     */
    constructor(source?: Partial<EntityIndex>);
    /**
     * 添加实体索引
     */
    create(none?: void, actionOptions?: ActionOptions): Promise<this>;
    /**
     * 删除实体索引
     */
    delete(none?: void, actionOptions?: ActionOptions): Promise<void>;
    /**
     * 修改实体索引
     */
    update(none?: void, actionOptions?: ActionOptions, then?: () => Promise<any>): Promise<this>;
    /**
     * 设置实体索引名称
     * @param name 名称
     */
    setName(name: string): Promise<void>;
    /**
     * 设置实体索引标题
     * @param label 标题
     */
    setPropertyIds(propertyIds: Array<string>): Promise<void>;
    /**
     * 设置实体索引描述
     * @param description 描述
     */
    setUnique(unique: boolean): Promise<void>;
    /**
     * 设置实体索引描述
     * @param description 描述
     */
    setDescription(description: string): Promise<void>;
    /**
     * 移动位置
     * @param index 目标位置
     */
    moveTo(index: number, oldIndex?: number): Promise<void>;
    /**
     * 上移实体索引
     */
    moveUp(): Promise<void>;
    /**
     * 索引下移
     */
    moveDown(): Promise<void>;
}
