/**
 * Generated by orval v8.9.1 🍺
 * Do not edit manually.
 * Api
 * BookWithNesto shortlet apartment platform API
 * OpenAPI spec version: 0.1.0
 */
export interface HealthStatus {
    status: string;
}
export interface BookedDateRange {
    checkIn: string;
    checkOut: string;
    status: string;
}
export interface Apartment {
    id: number;
    name: string;
    slug?: string;
    city: string;
    state?: string;
    address?: string;
    description?: string;
    pricePerNight: number;
    bedrooms?: number;
    bathrooms?: number;
    maxGuests?: number;
    amenities?: string;
    images?: string;
    featured?: boolean;
    available: boolean;
    /** @nullable */
    rating?: number | null;
    reviewCount?: number;
    createdAt: string;
    updatedAt?: string;
}
export interface ApartmentInput {
    name: string;
    slug?: string;
    city: string;
    state?: string;
    address?: string;
    description?: string;
    pricePerNight: number;
    bedrooms?: number;
    bathrooms?: number;
    maxGuests?: number;
    amenities?: string;
    images?: string;
    featured?: boolean;
    available?: boolean;
}
export interface ApartmentUpdate {
    name?: string;
    slug?: string;
    city?: string;
    state?: string;
    address?: string;
    description?: string;
    pricePerNight?: number;
    bedrooms?: number;
    bathrooms?: number;
    maxGuests?: number;
    amenities?: string;
    images?: string;
    featured?: boolean;
    available?: boolean;
}
export interface AvailabilityUpdate {
    available: boolean;
}
export interface CityCount {
    city: string;
    count: number;
}
export interface Review {
    id: number;
    apartmentId: number;
    /** @nullable */
    userId?: string | null;
    guestName?: string;
    rating: number;
    comment: string;
    createdAt: string;
}
export interface ReviewInput {
    rating: number;
    comment: string;
    guestName: string;
    userId?: string;
}
export interface Booking {
    id: number;
    apartmentId: number;
    /** @nullable */
    userId?: string | null;
    guestName: string;
    guestEmail: string;
    guestPhone?: string;
    checkIn: string;
    checkOut: string;
    guests?: number;
    /** @nullable */
    totalPrice?: number | null;
    status: string;
    /** @nullable */
    notes?: string | null;
    createdAt: string;
}
export interface BookingInput {
    apartmentId: number;
    userId?: string;
    guestName: string;
    guestEmail: string;
    guestPhone?: string;
    checkIn: string;
    checkOut: string;
    guests?: number;
    notes?: string;
}
export interface BookingStatusUpdate {
    status: string;
}
export interface BlogPost {
    id: number;
    title: string;
    slug: string;
    /** @nullable */
    excerpt?: string | null;
    content?: string;
    /** @nullable */
    featuredImage?: string | null;
    /** @nullable */
    category?: string | null;
    /** @nullable */
    tags?: string | null;
    status: string;
    /** @nullable */
    metaTitle?: string | null;
    /** @nullable */
    metaDescription?: string | null;
    authorName?: string;
    createdAt: string;
    updatedAt?: string;
}
export interface BlogPostInput {
    title: string;
    slug?: string;
    excerpt?: string;
    content: string;
    featuredImage?: string;
    category?: string;
    tags?: string;
    status?: string;
    metaTitle?: string;
    metaDescription?: string;
    authorName?: string;
}
export interface BlogPostUpdate {
    title?: string;
    slug?: string;
    excerpt?: string;
    content?: string;
    featuredImage?: string;
    category?: string;
    tags?: string;
    status?: string;
    metaTitle?: string;
    metaDescription?: string;
    authorName?: string;
}
export interface ContactSubmission {
    id: number;
    type: string;
    name: string;
    email: string;
    /** @nullable */
    phone?: string | null;
    /** @nullable */
    subject?: string | null;
    message: string;
    /** @nullable */
    apartmentId?: number | null;
    status?: string;
    createdAt: string;
}
export interface ContactInput {
    type: string;
    name: string;
    email: string;
    phone?: string;
    subject?: string;
    message: string;
    apartmentId?: number;
}
export interface ContactStatusUpdate {
    status?: string;
}
export interface NewsletterInput {
    email: string;
    name?: string;
}
export interface NewsletterSubscriber {
    id: number;
    email: string;
    /** @nullable */
    name?: string | null;
    active?: boolean;
    createdAt: string;
}
export interface ChatMessage {
    id: number;
    /** @nullable */
    apartmentId?: number | null;
    sessionId?: string;
    /** @nullable */
    userId?: string | null;
    role: string;
    content: string;
    createdAt: string;
}
export interface ChatMessageInput {
    apartmentId?: number;
    sessionId: string;
    userId?: string;
    role: string;
    content: string;
}
export interface GalleryImage {
    id: number;
    /** @nullable */
    apartmentId?: number | null;
    url: string;
    /** @nullable */
    caption?: string | null;
    /** @nullable */
    category?: string | null;
    sortOrder?: number;
    createdAt: string;
}
export interface GalleryImageInput {
    apartmentId?: number;
    url: string;
    caption?: string;
    category?: string;
    sortOrder?: number;
}
export interface ServicePackage {
    id: number;
    serviceType: string;
    name: string;
    priceDisplay: string;
    /** @nullable */
    priceAmount?: number | null;
    /** @nullable */
    duration?: string | null;
    /** @nullable */
    description?: string | null;
    features?: string;
    isPopular?: boolean;
    sortOrder: number;
    active: boolean;
    updatedAt?: string;
}
export interface ServicePackageUpdate {
    name?: string;
    priceDisplay?: string;
    priceAmount?: number;
    duration?: string;
    description?: string;
    features?: string;
    isPopular?: boolean;
    active?: boolean;
}
export interface DashboardStats {
    totalApartments: number;
    availableApartments: number;
    totalBookings: number;
    pendingBookings?: number;
    totalContacts: number;
    totalBlogPosts: number;
    totalReviews: number;
    /** @nullable */
    avgRating?: number | null;
}
export interface CityStats {
    city: string;
    count: number;
    avgPrice: number;
}
export type ListApartmentsParams = {
    city?: string;
    minPrice?: number;
    maxPrice?: number;
    bedrooms?: number;
    amenities?: string;
    available?: boolean;
    page?: number;
    limit?: number;
};
export type ListBlogPostsParams = {
    page?: number;
    limit?: number;
    category?: string;
};
export type ListChatMessagesParams = {
    /**
     * @nullable
     */
    apartmentId?: number | null;
    sessionId?: string;
};
export type ListGalleryImagesParams = {
    /**
     * @nullable
     */
    apartmentId?: number | null;
    category?: string;
};
export type ListServicePackagesParams = {
    serviceType?: string;
};
//# sourceMappingURL=api.schemas.d.ts.map