import { AptlyUserSchema } from './user.js';
export interface IAvailabilitySchema<ID, DATE> {
    organization?: ID;
    project: ID;
    archived?: boolean;
    calendars: IAvailabilityCalendarSchema<ID, DATE>[];
}
export interface IAvailabilityCalendarSchema<ID, DATE> {
    _id: ID;
    name: string;
    description: string;
    fee?: number;
    location: {
        name: string;
        formatted_address?: string;
        geometry?: {
            location: {
                lat: number;
                lng: number;
            };
        };
    };
    attendees: AptlyUserSchema<ID, DATE>[];
    userAvailability?: (ID | AptlyUserSchema<ID, DATE>)[];
    endAvailabilityAt?: DATE | null;
    availableTimes: IAvailabilityCalendarAvailableTimeSchema<ID, DATE>[];
    availability?: ID;
}
export interface IAvailabilityCalendarAvailableTimeSchema<ID, DATE> {
    user?: ID;
    from: DATE;
    to: DATE;
    booked: boolean;
    booking: ID;
}
