import { Rule } from "./Rule";
import { ValidationContext } from "../validation/ValidationContext";
import { SendVoteorder } from "../protocol/SendVoteorder";
/**
 * This rule limits total absolute weight)of confirmed voteorders over given period of time.
 * It sums up absolute weights of upvotes and flags.
 */
export declare class WeightForPeriodRule extends Rule {
    rule: string;
    unit: WeightForPeriodRule.PeriodUnit;
    period: number;
    weight: number;
    constructor(period: number, unit: WeightForPeriodRule.PeriodUnit, weight: number);
    type(): Rule.Type;
    validate(voteorder: SendVoteorder, context: ValidationContext, validationTimestamp?: Date): Promise<void>;
    validateRuleObject(unprototypedObj: any): void;
    getDescription(): string;
}
export declare namespace WeightForPeriodRule {
    enum PeriodUnit {
        DAY = "day",
        HOUR = "hour",
        MINUTE = "minute",
        SECOND = "second"
    }
}
