import { EventColor, EventID, EventInterface } from '../typings/interfaces/event.interface';
import { ModeType } from '../typings/types';
export declare class EventImpl implements EventInterface {
    time: {
        start: string;
        end: string;
    };
    id: EventID;
    title?: string;
    description?: string;
    topic?: string;
    location?: string;
    with?: string;
    colorScheme?: string;
    color?: EventColor;
    isEditable?: boolean;
    disableDnD?: ModeType[];
    disableResize?: ModeType[];
    isCustom?: boolean | ModeType[];
    nOfPreviousConcurrentEvents?: number;
    constructor(time: {
        start: string;
        end: string;
    }, id: EventID);
}
export declare class EventBuilder {
    time: {
        start: string;
        end: string;
    };
    private eventImpl;
    constructor(time: {
        start: string;
        end: string;
    }, id?: EventID);
    build(): EventImpl;
    withTitle(title: string): this;
    withColor(color: EventColor): this;
    withColorScheme(colorScheme: string): this;
    withDescription(description: string): this;
    withTopic(topic: string): this;
    withLocation(location: string): this;
    withWith($with: string): this;
    withNOfPreviousConcurrentEvents(nOfPreviousConcurrentEvents: number): this;
    withIsEditable(isEditable: boolean): this;
    withIsCustom(isCustom: boolean | ModeType[]): this;
    withDisableDnD(disableDnD: ModeType[]): this;
    withDisableResize(disableResize: ModeType[]): this;
}
//# sourceMappingURL=Event.d.ts.map