import type { Timezone } from '../timezone/timezone';
export type AlignFn = (dt: Date, tz: Timezone) => Date;
export type ShiftFn = (dt: Date, tz: Timezone, step: number) => Date;
export type RoundFn = (dt: Date, roundTo: number, tz: Timezone) => Date;
export interface TimeShifterNoCeil {
    canonicalLength: number;
    siblings: number;
    floor: AlignFn;
    round: RoundFn;
    shift: ShiftFn;
}
export interface TimeShifter extends TimeShifterNoCeil {
    ceil: AlignFn;
}
export declare const second: TimeShifter;
export declare const minute: TimeShifter;
export declare const hour: TimeShifter;
export declare const day: TimeShifter;
export declare const week: TimeShifter;
export declare const month: TimeShifter;
export declare const year: TimeShifter;
export declare function getMultiDayShifter(numDays: number): TimeShifter;
export interface Shifters {
    second: TimeShifter;
    minute: TimeShifter;
    hour: TimeShifter;
    day: TimeShifter;
    week: TimeShifter;
    month: TimeShifter;
    year: TimeShifter;
    [key: string]: TimeShifter;
}
export declare const shifters: Shifters;
//# sourceMappingURL=floor-shift-ceil.d.ts.map