import { ResourceNode, ServiceEngine } from "@chip-in/resource-node"; /** * サブセット定義 */ export declare class SubsetDef { /** * 優先度 */ priority: number; /** * サブセットのクエリ */ query?: object; } /** * インデックス定義 */ export declare class IndexDef { /** * インデックスの属性名をキーとしたハッシュオブジェクトで値はインデックスが昇順(1)か降順(-1)かを示す。その仕様はmongo db の createIndex の第一引数に準じる */ index: { [field: string]: number; }; /** * インデックスの属性を指定する。その仕様はmongo db の createIndex の第二引数に準じる */ property?: { unique?: boolean; }; /** * ユニーク制約とともに指定される場合に必須チェックが行われる */ required?: boolean; } /** * データベースメタデータ */ export declare class DatabaseMetadata { /** * インデックス設定 */ indexes?: IndexDef[]; /** * サブセット定義 */ subsets: { [subsetName: string]: SubsetDef; }; } /** * データベースレジストリコンフィグレーションパラメータ */ export declare class DatabaseRegistryConfigDef { /** * データベース名 */ database: string; /** * メタデータ */ metadata: DatabaseMetadata; } /** * データベースレジストリ(DatabaseRegistry) */ export declare class DatabaseRegistry extends ServiceEngine { bootOrder: number; private logger; private option; private node; constructor(option: DatabaseRegistryConfigDef); start(node: ResourceNode): Promise; stop(node: ResourceNode): Promise; getMetadata(): DatabaseMetadata; }