export interface IndexableObject { [key: string]: any; } export declare class BladeDate implements IndexableObject { nativeDate: Date; constructor(date?: Date | string | BladeDate); getYear(): number; getMonth(): number; getDay(): number; getTime(): number; getDate(): number; getHours(): number; getMinutes(): number; getSeconds(): number; getMilliseconds(): number; format(formatStr: string): string; clone(): BladeDate; setHms(hour: number, minute: number, second: number): BladeDate; setYear(year: number): BladeDate; addYears(amount: number): BladeDate; setMonth(month: number): BladeDate; addMonths(amount: number): BladeDate; addWeeks(amount: number): BladeDate; setDay(day: number, options?: { weekStartsOn: number; }): BladeDate; setSeconds(second: number): BladeDate; setMinutes(minutes: number): BladeDate; setHours(hour: number): BladeDate; setDate(amount: number): BladeDate; addDays(amount: number): BladeDate; endOf(grain: 'month'): BladeDate | null; isSame(date: BladeDate | Date, grain: BladeDateCompareGrain): boolean; isAfter(date: BladeDate | Date | null, grain: BladeDateCompareGrain): boolean; isBefore(date: BladeDate | Date | null, grain: BladeDateCompareGrain): boolean; isToday(): boolean; isInvalid(): boolean; private toNativeDate; } export declare type BladeDateCompareGrain = 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second'; export declare type BladeDateCompareType = 'eq' | 'gt' | 'lt';