/**
 * NepaliDate class for handling Nepali (Bikram Sambat) dates
 * This class provides Date-like functionality but works with the Nepali calendar system
 */
export declare class NepaliDate {
    _year: number;
    _month: number;
    _date: number;
    constructor();
    constructor(year: number, month: number, date?: number);
    constructor(adDate: Date);
    constructor(nepaliDate: NepaliDate);
    constructor(dateString: string);
    /**
     * Normalize the date to handle overflow/underflow of dates and months
     */
    private normalize;
    /**
     * Get the year (BS)
     */
    getFullYear(): number;
    /**
     * Get the month (0-based, like JavaScript Date)
     */
    getMonth(): number;
    /**
     * Get the date
     */
    getDate(): number;
    /**
     * Get the day of the week (0 = Sunday, 6 = Saturday)
     * This converts to AD date to get the correct day
     */
    getDay(): number;
    /**
     * Set the year
     */
    setFullYear(year: number): void;
    /**
     * Set the month (0-based)
     */
    setMonth(month: number): void;
    /**
     * Set the date
     */
    setDate(date: number): void;
    /**
     * Get the number of days in the current month
     */
    getDaysInMonth(): number;
    /**
     * Get the number of days in a specific month of the current year
     */
    getDaysInMonthOf(month: number): number;
    /**
     * Create a new NepaliDate with the first day of the current month
     */
    getFirstDayOfMonth(): NepaliDate;
    /**
     * Create a new NepaliDate with the last day of the current month
     */
    getLastDayOfMonth(): NepaliDate;
    /**
     * Add days to the current date
     */
    addDays(days: number): NepaliDate;
    /**
     * Add months to the current date
     */
    addMonths(months: number): NepaliDate;
    /**
     * Add years to the current date
     */
    addYears(years: number): NepaliDate;
    /**
     * Check if this date equals another date
     */
    equals(other: NepaliDate): boolean;
    /**
     * Compare this date with another date
     * Returns: -1 if this < other, 0 if equal, 1 if this > other
     */
    compare(other: NepaliDate): number;
    /**
     * Convert to AD Date
     */
    toADDate(): Date;
    /**
     * Create NepaliDate from AD Date
     */
    static fromADDate(adDate: Date): NepaliDate;
    /**
     * Get today's Nepali date
     */
    static today(): NepaliDate;
    /**
     * String representation
     */
    toString(): string;
    /**
     * Create a clone of this date
     */
    clone(): NepaliDate;
}
