import { DataStoreToken } from './DataStoreToken'; import { IDataTrigger } from './IDataTrigger'; export declare class SchemaTokenExpression { private readonly triggers; constructor(triggers: IDataTrigger[]); invalidatesCompartment(token: DataStoreToken): SchemaTokenExpression; resetsCompartment(token: DataStoreToken): SchemaTokenExpression; addTrigger(trigger: IDataTrigger): SchemaTokenExpression; } export declare class Schema { private readonly values; constructor(values: Record); get observableTokens(): DataStoreToken[]; triggersFor(token: DataStoreToken): IDataTrigger[]; toJSON(): { [x: string]: IDataTrigger[]; }; } export declare class SchemaBuilder { private readonly values; constructor(values: Record); compartment(token: DataStoreToken, key: keyof Compartments): SchemaTokenExpression; source(token: DataStoreToken): SchemaTokenExpression; private triggersFor; } export declare function createSchema(configure: (schema: SchemaBuilder) => void): Schema;