jinaga
Version:
Data management for web and mobile applications.
29 lines • 1.33 kB
TypeScript
import { User } from "../model/user";
import { SpecificationOf } from "../specification/model";
import { Specification } from "../specification/specification";
interface DistributionRule {
specification: Specification;
feeds: Specification[];
user: Specification | null;
}
declare class ShareTarget<T, U> {
private specification;
private rules;
constructor(specification: Specification, rules: DistributionRule[]);
with(user: SpecificationOf<T, User>): DistributionRules;
withEveryone(): DistributionRules;
}
export declare class DistributionRules {
rules: DistributionRule[];
static empty: DistributionRules;
constructor(rules: DistributionRule[]);
with(rules: (r: DistributionRules) => DistributionRules): DistributionRules;
share<T, U>(specification: SpecificationOf<T, U>): ShareTarget<T, U>;
saveToDescription(): string;
merge(distributionRules2: DistributionRules): DistributionRules;
static combine(distributionRules: DistributionRules, specification: Specification, user: Specification | null): DistributionRules;
static loadFromDescription(description: string): DistributionRules;
}
export declare function describeDistributionRules(rules: (r: DistributionRules) => DistributionRules): string;
export {};
//# sourceMappingURL=distribution-rules.d.ts.map