import { Observable } from 'rxjs'; import { McbDateDescriptor, McbDateFormat, McbDateManipulationUnit, McbDateFormatOptions } from '../types'; export declare class McbDate { private date; private constructor(); private static resetTime; /** * Returns the current client date */ static clientDate(includeTime?: boolean): McbDate; /** * Returns the current server date */ static serverDate(): Observable; /** * Creates a McbDate instance from the given Jalaali date */ static fromJalaali(date: McbDateDescriptor): McbDate; /** * Creates a McbDate instance from the given Gregorian date */ static fromGregorian(date: McbDateDescriptor): McbDate; /** * Parse a string as a Jalaali date and returns its equivalent McbDate */ static parseJalaali(date: string, format: McbDateFormat): McbDate; /** * Parse a string as a Gregorian date and returns its equivalent McbDate */ static parseGregorian(date: string, format: McbDateFormat): McbDate; /** * Parse a string as a MCB Server date and returns its equivalent McbDate */ static parseServer(date: string): McbDate; /** * Creates an invalid date */ static invalid(): McbDate; /** * Determines if this instance is a valid date */ isValid(): boolean; /** * Adds a specefic amount of time to the current McbDate */ add(amount: number, unit: McbDateManipulationUnit): McbDate; /** * Subtracts a specefic amount of time from the current McbDate */ subtract(amount: number, unit: McbDateManipulationUnit): this; /** * Checks if this McbDate is before another McbDate */ isBefore(date: McbDate): boolean; /** * Checks if this McbDate is after another McbDate */ isAfter(date: McbDate): boolean; /** * Checks if this McbDate is same or after another McbDate */ isSameOrAfter(date: McbDate): boolean; /** * Checks if this McbDate is before another McbDate */ isSameOrBefore(date: McbDate): boolean; /** * Returns Jalaali date equivalent to this McbDate instance */ toJalaali(): McbDateDescriptor; /** * Returns Gregorian date equivalent to this McbDate instance */ toGregorian(): McbDateDescriptor; /** * Converts this McbDate instance to a Jalaali date string */ formatJalaali(format?: McbDateFormat, options?: McbDateFormatOptions): string; /** * Converts this McbDate instance to a Gregorian date string */ formatGregorian(format?: McbDateFormat, options?: McbDateFormatOptions): string; /** * Converts this McbDate instance to a MCB server recognizable date string */ formatServer(): string; }