import { Attendee } from './Attendee';
import { Location } from './Location';
export declare class Event {
    title: string;
    description?: string | undefined;
    location?: Location | undefined;
    uid?: string | undefined;
    private _startDate;
    private _endDate;
    private duration;
    private _attendees;
    constructor(title: string, startDate: Date, endDateOrDuration?: Date | number | null, description?: string | undefined, location?: Location | undefined, attendees?: Attendee[], uid?: string | undefined);
    get startDate(): Date;
    get endDate(): Date;
    get locationName(): string | undefined;
    get locationCoordinates(): import("./Location").LocationCoordinates | undefined;
    get attendees(): Attendee[];
    reschedule(startDate: Date, endDateOrDuration?: Date | number | null): this;
    isAllDayEvent(): boolean;
    getStartDateAsString(): string;
    getEndDateAsString(): string;
    changeTitle(value: string): this;
    changeDescription(value: string): this;
    changeLocation(value: Location): this;
    addAttendees(...attendees: Attendee[]): this;
    clearAttendees(): this;
    hasAttendees(): boolean;
    changeUid(uid: string): this;
    private getNextDayAfterStartDate;
    private setEndDate;
    private assertDatesAreCorrect;
    private getDateAsString;
    private handleDurationInput;
}
