// moment.d.ts by Michael Lakerveld // Source: http://momentjs.com/docs/ // TODO customize http://momentjs.com/docs/#/customization/ // TODO plugins http://momentjs.com/docs/#/plugins/ // TODO lang definition http://momentjs.com/docs/#/i18n/ interface MomentInput { years?: number; y?: number; months?: number; M?: number; weeks?: number; w?: number; days?: number; d?: number; hours?: number; h?: number; minutes?: number; m?: number; seconds?: number; s?: number; milliseconds?: number; ms?: number; } interface Duration { humanize(): string; milliseconds(): number; asMilliseconds(): number; seconds(): number; asSeconds(): number; minutes(): number; asMinutes(): number; hours(): number; asHours(): number; days(): number; asDays(): number; months(): number; asMonths(): number; years(): number; asYears(): number; } interface Moment { format(format: string): string; format(): string; fromNow(): string; startOf(soort: string): Moment; endOf(soort: string): Moment; add(input: MomentInput): Moment; add(soort: string, aantal: number): Moment; substract(input: MomentInput): Moment; substract(soort: string, aantal: number): Moment; calendar(): string; valueOf(): string; local(): Moment; // current date/time in local mode utc(): Moment; // current date/time in UTC mode isValid(): boolean; year(y: number): Moment; month(M: number): Moment; day(d: number): Moment; date(d: number): Moment; hours(h: number): Moment; minutes(m: number): Moment; seconds(s: number): Moment; milliseconds(ms: number): Moment; sod(): Moment; // Start of Day eod(): Moment; // End of Day from(f: Moment): string; from(f: Moment, suffix: boolean): string; from(d: Date): string; from(s: string): string; diff(b: Moment): number; diff(b: Moment, soort: string): number; diff(b: Moment, soort: string, round: boolean): number; isAfter(b: Moment): boolean; isBefore(b: Moment): boolean; toDate(): Date; unix(): number; isLeapYear(): boolean; zone(): number; daysInMonth(): number; isDST(): boolean; locale(language: string); lang(language: string); lang(reset: boolean); lang(): string; } /* Static members of moment */ interface MomentStatic { (): Moment; (date: string): Moment; (date: string, time: string): Moment; (date: Date): Moment; (clone: Moment): Moment; clone(): Moment; unix(timestamp: number): Moment; utc(): Moment; // current date/time in UTC mode utc(Number: number): Moment; // milliseconds since the Unix Epoch in UTC mode utc(array: number[]): Moment; // parse an array of numbers matching Date.UTC() parameters utc(String: string): Moment; // parse string into UTC mode utc(String1: string, String2: string): Moment; // parse a string and format into UTC mode isMoment(m: any): boolean; lang(language: string); lang(language: string, definition: any); // TODO definition duration(milliseconds: Number): Duration; duration(num: Number, soort: string): Duration; duration(input: MomentInput): Duration; } declare var moment: MomentStatic;