import { DateTime, IDateAdapter } from '../../date-time';
import { RuleOption } from '../rule-options';
import { IPipeRule, IPipeRunFn, PipeRule } from './interfaces';
export interface IByDayOfWeekRuleOptions {
    frequency: RuleOption.Frequency;
    byDayOfWeek: RuleOption.ByDayOfWeek[];
    byMonthOfYear?: IDateAdapter.Month[];
}
export declare class ByDayOfWeekPipe extends PipeRule<IByDayOfWeekRuleOptions> implements IPipeRule<IByDayOfWeekRuleOptions> {
    run(args: IPipeRunFn): DateTime | null;
    private expandYearly;
    private expandMonthly;
    private expand;
}
/** For each byDayOfWeek entry, find the next DateTime */
export declare function getNextWeekdaysOfYear(date: DateTime, byDayOfWeek: RuleOption.ByDayOfWeek[]): DateTime[];
/** For each byDayOfWeek entry, find the next DateTime */
export declare function getNextWeekdaysOfMonth(date: DateTime, byDayOfWeek: RuleOption.ByDayOfWeek[]): DateTime[];
//# sourceMappingURL=06-by-day-of-week.pipe.d.ts.map