import { Specification } from "../specification/specification";
import { FactReference, ReferencesByName, Storage } from "../storage";
import { DistributionRules } from "./distribution-rules";
export interface DistributionSuccess {
    type: 'success';
}
export interface DistributionFailure {
    type: 'failure';
    reason: string;
}
export declare type DistributionResult = DistributionSuccess | DistributionFailure;
export declare class DistributionEngine {
    private distributionRules;
    private store;
    constructor(distributionRules: DistributionRules, store: Storage);
    canDistributeToAll(targetFeeds: Specification[], namedStart: ReferencesByName, user: FactReference | null): Promise<DistributionResult>;
    private canDistributeTo;
}
//# sourceMappingURL=distribution-engine.d.ts.map