/**
 * Generated by orval v8.9.1 🍺
 * Do not edit manually.
 * Api
 * BookWithNesto shortlet apartment platform API
 * OpenAPI spec version: 0.1.0
 */
import * as zod from 'zod';
/**
 * @summary Health check
 */
export declare const HealthCheckResponse: zod.ZodObject<{
    status: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    status: string;
}, {
    status: string;
}>;
/**
 * @summary List apartments with optional filters
 */
export declare const ListApartmentsQueryParams: zod.ZodObject<{
    city: zod.ZodOptional<zod.ZodString>;
    minPrice: zod.ZodOptional<zod.ZodNumber>;
    maxPrice: zod.ZodOptional<zod.ZodNumber>;
    bedrooms: zod.ZodOptional<zod.ZodNumber>;
    amenities: zod.ZodOptional<zod.ZodString>;
    available: zod.ZodOptional<zod.ZodBoolean>;
    page: zod.ZodOptional<zod.ZodNumber>;
    limit: zod.ZodOptional<zod.ZodNumber>;
}, "strip", zod.ZodTypeAny, {
    city?: string | undefined;
    minPrice?: number | undefined;
    maxPrice?: number | undefined;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    available?: boolean | undefined;
    page?: number | undefined;
    limit?: number | undefined;
}, {
    city?: string | undefined;
    minPrice?: number | undefined;
    maxPrice?: number | undefined;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    available?: boolean | undefined;
    page?: number | undefined;
    limit?: number | undefined;
}>;
export declare const ListApartmentsResponseItem: zod.ZodObject<{
    id: zod.ZodNumber;
    name: zod.ZodString;
    slug: zod.ZodOptional<zod.ZodString>;
    city: zod.ZodString;
    state: zod.ZodOptional<zod.ZodString>;
    address: zod.ZodOptional<zod.ZodString>;
    description: zod.ZodOptional<zod.ZodString>;
    pricePerNight: zod.ZodNumber;
    bedrooms: zod.ZodOptional<zod.ZodNumber>;
    bathrooms: zod.ZodOptional<zod.ZodNumber>;
    maxGuests: zod.ZodOptional<zod.ZodNumber>;
    amenities: zod.ZodOptional<zod.ZodString>;
    images: zod.ZodOptional<zod.ZodString>;
    featured: zod.ZodOptional<zod.ZodBoolean>;
    available: zod.ZodBoolean;
    rating: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    reviewCount: zod.ZodOptional<zod.ZodNumber>;
    createdAt: zod.ZodString;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    city: string;
    available: boolean;
    id: number;
    name: string;
    pricePerNight: number;
    createdAt: string;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
    rating?: number | null | undefined;
    reviewCount?: number | undefined;
    updatedAt?: string | undefined;
}, {
    city: string;
    available: boolean;
    id: number;
    name: string;
    pricePerNight: number;
    createdAt: string;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
    rating?: number | null | undefined;
    reviewCount?: number | undefined;
    updatedAt?: string | undefined;
}>;
export declare const ListApartmentsResponse: zod.ZodArray<zod.ZodObject<{
    id: zod.ZodNumber;
    name: zod.ZodString;
    slug: zod.ZodOptional<zod.ZodString>;
    city: zod.ZodString;
    state: zod.ZodOptional<zod.ZodString>;
    address: zod.ZodOptional<zod.ZodString>;
    description: zod.ZodOptional<zod.ZodString>;
    pricePerNight: zod.ZodNumber;
    bedrooms: zod.ZodOptional<zod.ZodNumber>;
    bathrooms: zod.ZodOptional<zod.ZodNumber>;
    maxGuests: zod.ZodOptional<zod.ZodNumber>;
    amenities: zod.ZodOptional<zod.ZodString>;
    images: zod.ZodOptional<zod.ZodString>;
    featured: zod.ZodOptional<zod.ZodBoolean>;
    available: zod.ZodBoolean;
    rating: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    reviewCount: zod.ZodOptional<zod.ZodNumber>;
    createdAt: zod.ZodString;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    city: string;
    available: boolean;
    id: number;
    name: string;
    pricePerNight: number;
    createdAt: string;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
    rating?: number | null | undefined;
    reviewCount?: number | undefined;
    updatedAt?: string | undefined;
}, {
    city: string;
    available: boolean;
    id: number;
    name: string;
    pricePerNight: number;
    createdAt: string;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
    rating?: number | null | undefined;
    reviewCount?: number | undefined;
    updatedAt?: string | undefined;
}>, "many">;
/**
 * @summary Create a new apartment listing (admin)
 */
export declare const CreateApartmentBody: zod.ZodObject<{
    name: zod.ZodString;
    slug: zod.ZodOptional<zod.ZodString>;
    city: zod.ZodString;
    state: zod.ZodOptional<zod.ZodString>;
    address: zod.ZodOptional<zod.ZodString>;
    description: zod.ZodOptional<zod.ZodString>;
    pricePerNight: zod.ZodNumber;
    bedrooms: zod.ZodOptional<zod.ZodNumber>;
    bathrooms: zod.ZodOptional<zod.ZodNumber>;
    maxGuests: zod.ZodOptional<zod.ZodNumber>;
    amenities: zod.ZodOptional<zod.ZodString>;
    images: zod.ZodOptional<zod.ZodString>;
    featured: zod.ZodOptional<zod.ZodBoolean>;
    available: zod.ZodOptional<zod.ZodBoolean>;
}, "strip", zod.ZodTypeAny, {
    city: string;
    name: string;
    pricePerNight: number;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    available?: boolean | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
}, {
    city: string;
    name: string;
    pricePerNight: number;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    available?: boolean | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
}>;
/**
 * @summary Get featured/highlighted apartments for homepage
 */
export declare const ListFeaturedApartmentsResponseItem: zod.ZodObject<{
    id: zod.ZodNumber;
    name: zod.ZodString;
    slug: zod.ZodOptional<zod.ZodString>;
    city: zod.ZodString;
    state: zod.ZodOptional<zod.ZodString>;
    address: zod.ZodOptional<zod.ZodString>;
    description: zod.ZodOptional<zod.ZodString>;
    pricePerNight: zod.ZodNumber;
    bedrooms: zod.ZodOptional<zod.ZodNumber>;
    bathrooms: zod.ZodOptional<zod.ZodNumber>;
    maxGuests: zod.ZodOptional<zod.ZodNumber>;
    amenities: zod.ZodOptional<zod.ZodString>;
    images: zod.ZodOptional<zod.ZodString>;
    featured: zod.ZodOptional<zod.ZodBoolean>;
    available: zod.ZodBoolean;
    rating: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    reviewCount: zod.ZodOptional<zod.ZodNumber>;
    createdAt: zod.ZodString;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    city: string;
    available: boolean;
    id: number;
    name: string;
    pricePerNight: number;
    createdAt: string;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
    rating?: number | null | undefined;
    reviewCount?: number | undefined;
    updatedAt?: string | undefined;
}, {
    city: string;
    available: boolean;
    id: number;
    name: string;
    pricePerNight: number;
    createdAt: string;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
    rating?: number | null | undefined;
    reviewCount?: number | undefined;
    updatedAt?: string | undefined;
}>;
export declare const ListFeaturedApartmentsResponse: zod.ZodArray<zod.ZodObject<{
    id: zod.ZodNumber;
    name: zod.ZodString;
    slug: zod.ZodOptional<zod.ZodString>;
    city: zod.ZodString;
    state: zod.ZodOptional<zod.ZodString>;
    address: zod.ZodOptional<zod.ZodString>;
    description: zod.ZodOptional<zod.ZodString>;
    pricePerNight: zod.ZodNumber;
    bedrooms: zod.ZodOptional<zod.ZodNumber>;
    bathrooms: zod.ZodOptional<zod.ZodNumber>;
    maxGuests: zod.ZodOptional<zod.ZodNumber>;
    amenities: zod.ZodOptional<zod.ZodString>;
    images: zod.ZodOptional<zod.ZodString>;
    featured: zod.ZodOptional<zod.ZodBoolean>;
    available: zod.ZodBoolean;
    rating: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    reviewCount: zod.ZodOptional<zod.ZodNumber>;
    createdAt: zod.ZodString;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    city: string;
    available: boolean;
    id: number;
    name: string;
    pricePerNight: number;
    createdAt: string;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
    rating?: number | null | undefined;
    reviewCount?: number | undefined;
    updatedAt?: string | undefined;
}, {
    city: string;
    available: boolean;
    id: number;
    name: string;
    pricePerNight: number;
    createdAt: string;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
    rating?: number | null | undefined;
    reviewCount?: number | undefined;
    updatedAt?: string | undefined;
}>, "many">;
/**
 * @summary Get list of cities with apartment counts
 */
export declare const ListCitiesResponseItem: zod.ZodObject<{
    city: zod.ZodString;
    count: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    city: string;
    count: number;
}, {
    city: string;
    count: number;
}>;
export declare const ListCitiesResponse: zod.ZodArray<zod.ZodObject<{
    city: zod.ZodString;
    count: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    city: string;
    count: number;
}, {
    city: string;
    count: number;
}>, "many">;
/**
 * @summary Get apartment detail
 */
export declare const GetApartmentParams: zod.ZodObject<{
    id: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const GetApartmentResponse: zod.ZodObject<{
    id: zod.ZodNumber;
    name: zod.ZodString;
    slug: zod.ZodOptional<zod.ZodString>;
    city: zod.ZodString;
    state: zod.ZodOptional<zod.ZodString>;
    address: zod.ZodOptional<zod.ZodString>;
    description: zod.ZodOptional<zod.ZodString>;
    pricePerNight: zod.ZodNumber;
    bedrooms: zod.ZodOptional<zod.ZodNumber>;
    bathrooms: zod.ZodOptional<zod.ZodNumber>;
    maxGuests: zod.ZodOptional<zod.ZodNumber>;
    amenities: zod.ZodOptional<zod.ZodString>;
    images: zod.ZodOptional<zod.ZodString>;
    featured: zod.ZodOptional<zod.ZodBoolean>;
    available: zod.ZodBoolean;
    rating: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    reviewCount: zod.ZodOptional<zod.ZodNumber>;
    createdAt: zod.ZodString;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    city: string;
    available: boolean;
    id: number;
    name: string;
    pricePerNight: number;
    createdAt: string;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
    rating?: number | null | undefined;
    reviewCount?: number | undefined;
    updatedAt?: string | undefined;
}, {
    city: string;
    available: boolean;
    id: number;
    name: string;
    pricePerNight: number;
    createdAt: string;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
    rating?: number | null | undefined;
    reviewCount?: number | undefined;
    updatedAt?: string | undefined;
}>;
/**
 * @summary Update apartment (admin)
 */
export declare const UpdateApartmentParams: zod.ZodObject<{
    id: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const UpdateApartmentBody: zod.ZodObject<{
    name: zod.ZodOptional<zod.ZodString>;
    slug: zod.ZodOptional<zod.ZodString>;
    city: zod.ZodOptional<zod.ZodString>;
    state: zod.ZodOptional<zod.ZodString>;
    address: zod.ZodOptional<zod.ZodString>;
    description: zod.ZodOptional<zod.ZodString>;
    pricePerNight: zod.ZodOptional<zod.ZodNumber>;
    bedrooms: zod.ZodOptional<zod.ZodNumber>;
    bathrooms: zod.ZodOptional<zod.ZodNumber>;
    maxGuests: zod.ZodOptional<zod.ZodNumber>;
    amenities: zod.ZodOptional<zod.ZodString>;
    images: zod.ZodOptional<zod.ZodString>;
    featured: zod.ZodOptional<zod.ZodBoolean>;
    available: zod.ZodOptional<zod.ZodBoolean>;
}, "strip", zod.ZodTypeAny, {
    city?: string | undefined;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    available?: boolean | undefined;
    name?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    pricePerNight?: number | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
}, {
    city?: string | undefined;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    available?: boolean | undefined;
    name?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    pricePerNight?: number | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
}>;
export declare const UpdateApartmentResponse: zod.ZodObject<{
    id: zod.ZodNumber;
    name: zod.ZodString;
    slug: zod.ZodOptional<zod.ZodString>;
    city: zod.ZodString;
    state: zod.ZodOptional<zod.ZodString>;
    address: zod.ZodOptional<zod.ZodString>;
    description: zod.ZodOptional<zod.ZodString>;
    pricePerNight: zod.ZodNumber;
    bedrooms: zod.ZodOptional<zod.ZodNumber>;
    bathrooms: zod.ZodOptional<zod.ZodNumber>;
    maxGuests: zod.ZodOptional<zod.ZodNumber>;
    amenities: zod.ZodOptional<zod.ZodString>;
    images: zod.ZodOptional<zod.ZodString>;
    featured: zod.ZodOptional<zod.ZodBoolean>;
    available: zod.ZodBoolean;
    rating: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    reviewCount: zod.ZodOptional<zod.ZodNumber>;
    createdAt: zod.ZodString;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    city: string;
    available: boolean;
    id: number;
    name: string;
    pricePerNight: number;
    createdAt: string;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
    rating?: number | null | undefined;
    reviewCount?: number | undefined;
    updatedAt?: string | undefined;
}, {
    city: string;
    available: boolean;
    id: number;
    name: string;
    pricePerNight: number;
    createdAt: string;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
    rating?: number | null | undefined;
    reviewCount?: number | undefined;
    updatedAt?: string | undefined;
}>;
/**
 * @summary Delete apartment (admin)
 */
export declare const DeleteApartmentParams: zod.ZodObject<{
    id: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
/**
 * @summary Get booked date ranges for an apartment
 */
export declare const GetApartmentAvailabilityParams: zod.ZodObject<{
    id: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const GetApartmentAvailabilityResponseItem: zod.ZodObject<{
    checkIn: zod.ZodDate;
    checkOut: zod.ZodDate;
    status: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    status: string;
    checkIn: Date;
    checkOut: Date;
}, {
    status: string;
    checkIn: Date;
    checkOut: Date;
}>;
export declare const GetApartmentAvailabilityResponse: zod.ZodArray<zod.ZodObject<{
    checkIn: zod.ZodDate;
    checkOut: zod.ZodDate;
    status: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    status: string;
    checkIn: Date;
    checkOut: Date;
}, {
    status: string;
    checkIn: Date;
    checkOut: Date;
}>, "many">;
/**
 * @summary Toggle apartment availability (admin)
 */
export declare const UpdateApartmentAvailabilityParams: zod.ZodObject<{
    id: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const UpdateApartmentAvailabilityBody: zod.ZodObject<{
    available: zod.ZodBoolean;
}, "strip", zod.ZodTypeAny, {
    available: boolean;
}, {
    available: boolean;
}>;
export declare const UpdateApartmentAvailabilityResponse: zod.ZodObject<{
    id: zod.ZodNumber;
    name: zod.ZodString;
    slug: zod.ZodOptional<zod.ZodString>;
    city: zod.ZodString;
    state: zod.ZodOptional<zod.ZodString>;
    address: zod.ZodOptional<zod.ZodString>;
    description: zod.ZodOptional<zod.ZodString>;
    pricePerNight: zod.ZodNumber;
    bedrooms: zod.ZodOptional<zod.ZodNumber>;
    bathrooms: zod.ZodOptional<zod.ZodNumber>;
    maxGuests: zod.ZodOptional<zod.ZodNumber>;
    amenities: zod.ZodOptional<zod.ZodString>;
    images: zod.ZodOptional<zod.ZodString>;
    featured: zod.ZodOptional<zod.ZodBoolean>;
    available: zod.ZodBoolean;
    rating: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    reviewCount: zod.ZodOptional<zod.ZodNumber>;
    createdAt: zod.ZodString;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    city: string;
    available: boolean;
    id: number;
    name: string;
    pricePerNight: number;
    createdAt: string;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
    rating?: number | null | undefined;
    reviewCount?: number | undefined;
    updatedAt?: string | undefined;
}, {
    city: string;
    available: boolean;
    id: number;
    name: string;
    pricePerNight: number;
    createdAt: string;
    bedrooms?: number | undefined;
    amenities?: string | undefined;
    slug?: string | undefined;
    state?: string | undefined;
    address?: string | undefined;
    description?: string | undefined;
    bathrooms?: number | undefined;
    maxGuests?: number | undefined;
    images?: string | undefined;
    featured?: boolean | undefined;
    rating?: number | null | undefined;
    reviewCount?: number | undefined;
    updatedAt?: string | undefined;
}>;
/**
 * @summary Get reviews for an apartment
 */
export declare const ListApartmentReviewsParams: zod.ZodObject<{
    id: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const ListApartmentReviewsResponseItem: zod.ZodObject<{
    id: zod.ZodNumber;
    apartmentId: zod.ZodNumber;
    userId: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    guestName: zod.ZodOptional<zod.ZodString>;
    rating: zod.ZodNumber;
    comment: zod.ZodString;
    createdAt: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    id: number;
    rating: number;
    createdAt: string;
    apartmentId: number;
    comment: string;
    userId?: string | null | undefined;
    guestName?: string | undefined;
}, {
    id: number;
    rating: number;
    createdAt: string;
    apartmentId: number;
    comment: string;
    userId?: string | null | undefined;
    guestName?: string | undefined;
}>;
export declare const ListApartmentReviewsResponse: zod.ZodArray<zod.ZodObject<{
    id: zod.ZodNumber;
    apartmentId: zod.ZodNumber;
    userId: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    guestName: zod.ZodOptional<zod.ZodString>;
    rating: zod.ZodNumber;
    comment: zod.ZodString;
    createdAt: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    id: number;
    rating: number;
    createdAt: string;
    apartmentId: number;
    comment: string;
    userId?: string | null | undefined;
    guestName?: string | undefined;
}, {
    id: number;
    rating: number;
    createdAt: string;
    apartmentId: number;
    comment: string;
    userId?: string | null | undefined;
    guestName?: string | undefined;
}>, "many">;
/**
 * @summary Submit a review
 */
export declare const CreateReviewParams: zod.ZodObject<{
    id: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const CreateReviewBody: zod.ZodObject<{
    rating: zod.ZodNumber;
    comment: zod.ZodString;
    guestName: zod.ZodString;
    userId: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    rating: number;
    guestName: string;
    comment: string;
    userId?: string | undefined;
}, {
    rating: number;
    guestName: string;
    comment: string;
    userId?: string | undefined;
}>;
/**
 * @summary List bookings (admin sees all, user sees own)
 */
export declare const ListBookingsResponseItem: zod.ZodObject<{
    id: zod.ZodNumber;
    apartmentId: zod.ZodNumber;
    userId: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    guestName: zod.ZodString;
    guestEmail: zod.ZodString;
    guestPhone: zod.ZodOptional<zod.ZodString>;
    checkIn: zod.ZodString;
    checkOut: zod.ZodString;
    guests: zod.ZodOptional<zod.ZodNumber>;
    totalPrice: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    status: zod.ZodString;
    notes: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    createdAt: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    status: string;
    id: number;
    createdAt: string;
    checkIn: string;
    checkOut: string;
    apartmentId: number;
    guestName: string;
    guestEmail: string;
    userId?: string | null | undefined;
    guestPhone?: string | undefined;
    guests?: number | undefined;
    totalPrice?: number | null | undefined;
    notes?: string | null | undefined;
}, {
    status: string;
    id: number;
    createdAt: string;
    checkIn: string;
    checkOut: string;
    apartmentId: number;
    guestName: string;
    guestEmail: string;
    userId?: string | null | undefined;
    guestPhone?: string | undefined;
    guests?: number | undefined;
    totalPrice?: number | null | undefined;
    notes?: string | null | undefined;
}>;
export declare const ListBookingsResponse: zod.ZodArray<zod.ZodObject<{
    id: zod.ZodNumber;
    apartmentId: zod.ZodNumber;
    userId: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    guestName: zod.ZodString;
    guestEmail: zod.ZodString;
    guestPhone: zod.ZodOptional<zod.ZodString>;
    checkIn: zod.ZodString;
    checkOut: zod.ZodString;
    guests: zod.ZodOptional<zod.ZodNumber>;
    totalPrice: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    status: zod.ZodString;
    notes: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    createdAt: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    status: string;
    id: number;
    createdAt: string;
    checkIn: string;
    checkOut: string;
    apartmentId: number;
    guestName: string;
    guestEmail: string;
    userId?: string | null | undefined;
    guestPhone?: string | undefined;
    guests?: number | undefined;
    totalPrice?: number | null | undefined;
    notes?: string | null | undefined;
}, {
    status: string;
    id: number;
    createdAt: string;
    checkIn: string;
    checkOut: string;
    apartmentId: number;
    guestName: string;
    guestEmail: string;
    userId?: string | null | undefined;
    guestPhone?: string | undefined;
    guests?: number | undefined;
    totalPrice?: number | null | undefined;
    notes?: string | null | undefined;
}>, "many">;
/**
 * @summary Create a booking inquiry
 */
export declare const CreateBookingBody: zod.ZodObject<{
    apartmentId: zod.ZodNumber;
    userId: zod.ZodOptional<zod.ZodString>;
    guestName: zod.ZodString;
    guestEmail: zod.ZodString;
    guestPhone: zod.ZodOptional<zod.ZodString>;
    checkIn: zod.ZodString;
    checkOut: zod.ZodString;
    guests: zod.ZodOptional<zod.ZodNumber>;
    notes: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    checkIn: string;
    checkOut: string;
    apartmentId: number;
    guestName: string;
    guestEmail: string;
    userId?: string | undefined;
    guestPhone?: string | undefined;
    guests?: number | undefined;
    notes?: string | undefined;
}, {
    checkIn: string;
    checkOut: string;
    apartmentId: number;
    guestName: string;
    guestEmail: string;
    userId?: string | undefined;
    guestPhone?: string | undefined;
    guests?: number | undefined;
    notes?: string | undefined;
}>;
/**
 * @summary Get booking detail
 */
export declare const GetBookingParams: zod.ZodObject<{
    id: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const GetBookingResponse: zod.ZodObject<{
    id: zod.ZodNumber;
    apartmentId: zod.ZodNumber;
    userId: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    guestName: zod.ZodString;
    guestEmail: zod.ZodString;
    guestPhone: zod.ZodOptional<zod.ZodString>;
    checkIn: zod.ZodString;
    checkOut: zod.ZodString;
    guests: zod.ZodOptional<zod.ZodNumber>;
    totalPrice: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    status: zod.ZodString;
    notes: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    createdAt: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    status: string;
    id: number;
    createdAt: string;
    checkIn: string;
    checkOut: string;
    apartmentId: number;
    guestName: string;
    guestEmail: string;
    userId?: string | null | undefined;
    guestPhone?: string | undefined;
    guests?: number | undefined;
    totalPrice?: number | null | undefined;
    notes?: string | null | undefined;
}, {
    status: string;
    id: number;
    createdAt: string;
    checkIn: string;
    checkOut: string;
    apartmentId: number;
    guestName: string;
    guestEmail: string;
    userId?: string | null | undefined;
    guestPhone?: string | undefined;
    guests?: number | undefined;
    totalPrice?: number | null | undefined;
    notes?: string | null | undefined;
}>;
/**
 * @summary Update booking status (admin)
 */
export declare const UpdateBookingStatusParams: zod.ZodObject<{
    id: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const UpdateBookingStatusBody: zod.ZodObject<{
    status: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    status: string;
}, {
    status: string;
}>;
export declare const UpdateBookingStatusResponse: zod.ZodObject<{
    id: zod.ZodNumber;
    apartmentId: zod.ZodNumber;
    userId: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    guestName: zod.ZodString;
    guestEmail: zod.ZodString;
    guestPhone: zod.ZodOptional<zod.ZodString>;
    checkIn: zod.ZodString;
    checkOut: zod.ZodString;
    guests: zod.ZodOptional<zod.ZodNumber>;
    totalPrice: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    status: zod.ZodString;
    notes: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    createdAt: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    status: string;
    id: number;
    createdAt: string;
    checkIn: string;
    checkOut: string;
    apartmentId: number;
    guestName: string;
    guestEmail: string;
    userId?: string | null | undefined;
    guestPhone?: string | undefined;
    guests?: number | undefined;
    totalPrice?: number | null | undefined;
    notes?: string | null | undefined;
}, {
    status: string;
    id: number;
    createdAt: string;
    checkIn: string;
    checkOut: string;
    apartmentId: number;
    guestName: string;
    guestEmail: string;
    userId?: string | null | undefined;
    guestPhone?: string | undefined;
    guests?: number | undefined;
    totalPrice?: number | null | undefined;
    notes?: string | null | undefined;
}>;
/**
 * @summary List published blog posts
 */
export declare const ListBlogPostsQueryParams: zod.ZodObject<{
    page: zod.ZodOptional<zod.ZodNumber>;
    limit: zod.ZodOptional<zod.ZodNumber>;
    category: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    page?: number | undefined;
    limit?: number | undefined;
    category?: string | undefined;
}, {
    page?: number | undefined;
    limit?: number | undefined;
    category?: string | undefined;
}>;
export declare const ListBlogPostsResponseItem: zod.ZodObject<{
    id: zod.ZodNumber;
    title: zod.ZodString;
    slug: zod.ZodString;
    excerpt: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    content: zod.ZodOptional<zod.ZodString>;
    featuredImage: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    category: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    tags: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    status: zod.ZodString;
    metaTitle: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    metaDescription: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    authorName: zod.ZodOptional<zod.ZodString>;
    createdAt: zod.ZodString;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    status: string;
    id: number;
    slug: string;
    createdAt: string;
    title: string;
    updatedAt?: string | undefined;
    category?: string | null | undefined;
    excerpt?: string | null | undefined;
    content?: string | undefined;
    featuredImage?: string | null | undefined;
    tags?: string | null | undefined;
    metaTitle?: string | null | undefined;
    metaDescription?: string | null | undefined;
    authorName?: string | undefined;
}, {
    status: string;
    id: number;
    slug: string;
    createdAt: string;
    title: string;
    updatedAt?: string | undefined;
    category?: string | null | undefined;
    excerpt?: string | null | undefined;
    content?: string | undefined;
    featuredImage?: string | null | undefined;
    tags?: string | null | undefined;
    metaTitle?: string | null | undefined;
    metaDescription?: string | null | undefined;
    authorName?: string | undefined;
}>;
export declare const ListBlogPostsResponse: zod.ZodArray<zod.ZodObject<{
    id: zod.ZodNumber;
    title: zod.ZodString;
    slug: zod.ZodString;
    excerpt: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    content: zod.ZodOptional<zod.ZodString>;
    featuredImage: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    category: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    tags: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    status: zod.ZodString;
    metaTitle: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    metaDescription: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    authorName: zod.ZodOptional<zod.ZodString>;
    createdAt: zod.ZodString;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    status: string;
    id: number;
    slug: string;
    createdAt: string;
    title: string;
    updatedAt?: string | undefined;
    category?: string | null | undefined;
    excerpt?: string | null | undefined;
    content?: string | undefined;
    featuredImage?: string | null | undefined;
    tags?: string | null | undefined;
    metaTitle?: string | null | undefined;
    metaDescription?: string | null | undefined;
    authorName?: string | undefined;
}, {
    status: string;
    id: number;
    slug: string;
    createdAt: string;
    title: string;
    updatedAt?: string | undefined;
    category?: string | null | undefined;
    excerpt?: string | null | undefined;
    content?: string | undefined;
    featuredImage?: string | null | undefined;
    tags?: string | null | undefined;
    metaTitle?: string | null | undefined;
    metaDescription?: string | null | undefined;
    authorName?: string | undefined;
}>, "many">;
/**
 * @summary Create blog post (admin)
 */
export declare const CreateBlogPostBody: zod.ZodObject<{
    title: zod.ZodString;
    slug: zod.ZodOptional<zod.ZodString>;
    excerpt: zod.ZodOptional<zod.ZodString>;
    content: zod.ZodString;
    featuredImage: zod.ZodOptional<zod.ZodString>;
    category: zod.ZodOptional<zod.ZodString>;
    tags: zod.ZodOptional<zod.ZodString>;
    status: zod.ZodOptional<zod.ZodString>;
    metaTitle: zod.ZodOptional<zod.ZodString>;
    metaDescription: zod.ZodOptional<zod.ZodString>;
    authorName: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    title: string;
    content: string;
    status?: string | undefined;
    slug?: string | undefined;
    category?: string | undefined;
    excerpt?: string | undefined;
    featuredImage?: string | undefined;
    tags?: string | undefined;
    metaTitle?: string | undefined;
    metaDescription?: string | undefined;
    authorName?: string | undefined;
}, {
    title: string;
    content: string;
    status?: string | undefined;
    slug?: string | undefined;
    category?: string | undefined;
    excerpt?: string | undefined;
    featuredImage?: string | undefined;
    tags?: string | undefined;
    metaTitle?: string | undefined;
    metaDescription?: string | undefined;
    authorName?: string | undefined;
}>;
/**
 * @summary List all blog posts including drafts (admin)
 */
export declare const ListAllBlogPostsResponseItem: zod.ZodObject<{
    id: zod.ZodNumber;
    title: zod.ZodString;
    slug: zod.ZodString;
    excerpt: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    content: zod.ZodOptional<zod.ZodString>;
    featuredImage: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    category: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    tags: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    status: zod.ZodString;
    metaTitle: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    metaDescription: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    authorName: zod.ZodOptional<zod.ZodString>;
    createdAt: zod.ZodString;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    status: string;
    id: number;
    slug: string;
    createdAt: string;
    title: string;
    updatedAt?: string | undefined;
    category?: string | null | undefined;
    excerpt?: string | null | undefined;
    content?: string | undefined;
    featuredImage?: string | null | undefined;
    tags?: string | null | undefined;
    metaTitle?: string | null | undefined;
    metaDescription?: string | null | undefined;
    authorName?: string | undefined;
}, {
    status: string;
    id: number;
    slug: string;
    createdAt: string;
    title: string;
    updatedAt?: string | undefined;
    category?: string | null | undefined;
    excerpt?: string | null | undefined;
    content?: string | undefined;
    featuredImage?: string | null | undefined;
    tags?: string | null | undefined;
    metaTitle?: string | null | undefined;
    metaDescription?: string | null | undefined;
    authorName?: string | undefined;
}>;
export declare const ListAllBlogPostsResponse: zod.ZodArray<zod.ZodObject<{
    id: zod.ZodNumber;
    title: zod.ZodString;
    slug: zod.ZodString;
    excerpt: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    content: zod.ZodOptional<zod.ZodString>;
    featuredImage: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    category: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    tags: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    status: zod.ZodString;
    metaTitle: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    metaDescription: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    authorName: zod.ZodOptional<zod.ZodString>;
    createdAt: zod.ZodString;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    status: string;
    id: number;
    slug: string;
    createdAt: string;
    title: string;
    updatedAt?: string | undefined;
    category?: string | null | undefined;
    excerpt?: string | null | undefined;
    content?: string | undefined;
    featuredImage?: string | null | undefined;
    tags?: string | null | undefined;
    metaTitle?: string | null | undefined;
    metaDescription?: string | null | undefined;
    authorName?: string | undefined;
}, {
    status: string;
    id: number;
    slug: string;
    createdAt: string;
    title: string;
    updatedAt?: string | undefined;
    category?: string | null | undefined;
    excerpt?: string | null | undefined;
    content?: string | undefined;
    featuredImage?: string | null | undefined;
    tags?: string | null | undefined;
    metaTitle?: string | null | undefined;
    metaDescription?: string | null | undefined;
    authorName?: string | undefined;
}>, "many">;
/**
 * @summary Get blog post detail
 */
export declare const GetBlogPostParams: zod.ZodObject<{
    id: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const GetBlogPostResponse: zod.ZodObject<{
    id: zod.ZodNumber;
    title: zod.ZodString;
    slug: zod.ZodString;
    excerpt: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    content: zod.ZodOptional<zod.ZodString>;
    featuredImage: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    category: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    tags: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    status: zod.ZodString;
    metaTitle: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    metaDescription: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    authorName: zod.ZodOptional<zod.ZodString>;
    createdAt: zod.ZodString;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    status: string;
    id: number;
    slug: string;
    createdAt: string;
    title: string;
    updatedAt?: string | undefined;
    category?: string | null | undefined;
    excerpt?: string | null | undefined;
    content?: string | undefined;
    featuredImage?: string | null | undefined;
    tags?: string | null | undefined;
    metaTitle?: string | null | undefined;
    metaDescription?: string | null | undefined;
    authorName?: string | undefined;
}, {
    status: string;
    id: number;
    slug: string;
    createdAt: string;
    title: string;
    updatedAt?: string | undefined;
    category?: string | null | undefined;
    excerpt?: string | null | undefined;
    content?: string | undefined;
    featuredImage?: string | null | undefined;
    tags?: string | null | undefined;
    metaTitle?: string | null | undefined;
    metaDescription?: string | null | undefined;
    authorName?: string | undefined;
}>;
/**
 * @summary Update blog post (admin)
 */
export declare const UpdateBlogPostParams: zod.ZodObject<{
    id: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const UpdateBlogPostBody: zod.ZodObject<{
    title: zod.ZodOptional<zod.ZodString>;
    slug: zod.ZodOptional<zod.ZodString>;
    excerpt: zod.ZodOptional<zod.ZodString>;
    content: zod.ZodOptional<zod.ZodString>;
    featuredImage: zod.ZodOptional<zod.ZodString>;
    category: zod.ZodOptional<zod.ZodString>;
    tags: zod.ZodOptional<zod.ZodString>;
    status: zod.ZodOptional<zod.ZodString>;
    metaTitle: zod.ZodOptional<zod.ZodString>;
    metaDescription: zod.ZodOptional<zod.ZodString>;
    authorName: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    status?: string | undefined;
    slug?: string | undefined;
    category?: string | undefined;
    title?: string | undefined;
    excerpt?: string | undefined;
    content?: string | undefined;
    featuredImage?: string | undefined;
    tags?: string | undefined;
    metaTitle?: string | undefined;
    metaDescription?: string | undefined;
    authorName?: string | undefined;
}, {
    status?: string | undefined;
    slug?: string | undefined;
    category?: string | undefined;
    title?: string | undefined;
    excerpt?: string | undefined;
    content?: string | undefined;
    featuredImage?: string | undefined;
    tags?: string | undefined;
    metaTitle?: string | undefined;
    metaDescription?: string | undefined;
    authorName?: string | undefined;
}>;
export declare const UpdateBlogPostResponse: zod.ZodObject<{
    id: zod.ZodNumber;
    title: zod.ZodString;
    slug: zod.ZodString;
    excerpt: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    content: zod.ZodOptional<zod.ZodString>;
    featuredImage: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    category: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    tags: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    status: zod.ZodString;
    metaTitle: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    metaDescription: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    authorName: zod.ZodOptional<zod.ZodString>;
    createdAt: zod.ZodString;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    status: string;
    id: number;
    slug: string;
    createdAt: string;
    title: string;
    updatedAt?: string | undefined;
    category?: string | null | undefined;
    excerpt?: string | null | undefined;
    content?: string | undefined;
    featuredImage?: string | null | undefined;
    tags?: string | null | undefined;
    metaTitle?: string | null | undefined;
    metaDescription?: string | null | undefined;
    authorName?: string | undefined;
}, {
    status: string;
    id: number;
    slug: string;
    createdAt: string;
    title: string;
    updatedAt?: string | undefined;
    category?: string | null | undefined;
    excerpt?: string | null | undefined;
    content?: string | undefined;
    featuredImage?: string | null | undefined;
    tags?: string | null | undefined;
    metaTitle?: string | null | undefined;
    metaDescription?: string | null | undefined;
    authorName?: string | undefined;
}>;
/**
 * @summary Delete blog post (admin)
 */
export declare const DeleteBlogPostParams: zod.ZodObject<{
    id: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
/**
 * @summary Get blog post by SEO slug
 */
export declare const GetBlogPostBySlugParams: zod.ZodObject<{
    slug: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    slug: string;
}, {
    slug: string;
}>;
export declare const GetBlogPostBySlugResponse: zod.ZodObject<{
    id: zod.ZodNumber;
    title: zod.ZodString;
    slug: zod.ZodString;
    excerpt: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    content: zod.ZodOptional<zod.ZodString>;
    featuredImage: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    category: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    tags: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    status: zod.ZodString;
    metaTitle: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    metaDescription: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    authorName: zod.ZodOptional<zod.ZodString>;
    createdAt: zod.ZodString;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    status: string;
    id: number;
    slug: string;
    createdAt: string;
    title: string;
    updatedAt?: string | undefined;
    category?: string | null | undefined;
    excerpt?: string | null | undefined;
    content?: string | undefined;
    featuredImage?: string | null | undefined;
    tags?: string | null | undefined;
    metaTitle?: string | null | undefined;
    metaDescription?: string | null | undefined;
    authorName?: string | undefined;
}, {
    status: string;
    id: number;
    slug: string;
    createdAt: string;
    title: string;
    updatedAt?: string | undefined;
    category?: string | null | undefined;
    excerpt?: string | null | undefined;
    content?: string | undefined;
    featuredImage?: string | null | undefined;
    tags?: string | null | undefined;
    metaTitle?: string | null | undefined;
    metaDescription?: string | null | undefined;
    authorName?: string | undefined;
}>;
/**
 * @summary List all form submissions (admin)
 */
export declare const ListContactsResponseItem: zod.ZodObject<{
    id: zod.ZodNumber;
    type: zod.ZodString;
    name: zod.ZodString;
    email: zod.ZodString;
    phone: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    subject: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    message: zod.ZodString;
    apartmentId: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    status: zod.ZodOptional<zod.ZodString>;
    createdAt: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    message: string;
    type: string;
    id: number;
    name: string;
    createdAt: string;
    email: string;
    status?: string | undefined;
    apartmentId?: number | null | undefined;
    phone?: string | null | undefined;
    subject?: string | null | undefined;
}, {
    message: string;
    type: string;
    id: number;
    name: string;
    createdAt: string;
    email: string;
    status?: string | undefined;
    apartmentId?: number | null | undefined;
    phone?: string | null | undefined;
    subject?: string | null | undefined;
}>;
export declare const ListContactsResponse: zod.ZodArray<zod.ZodObject<{
    id: zod.ZodNumber;
    type: zod.ZodString;
    name: zod.ZodString;
    email: zod.ZodString;
    phone: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    subject: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    message: zod.ZodString;
    apartmentId: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    status: zod.ZodOptional<zod.ZodString>;
    createdAt: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    message: string;
    type: string;
    id: number;
    name: string;
    createdAt: string;
    email: string;
    status?: string | undefined;
    apartmentId?: number | null | undefined;
    phone?: string | null | undefined;
    subject?: string | null | undefined;
}, {
    message: string;
    type: string;
    id: number;
    name: string;
    createdAt: string;
    email: string;
    status?: string | undefined;
    apartmentId?: number | null | undefined;
    phone?: string | null | undefined;
    subject?: string | null | undefined;
}>, "many">;
/**
 * @summary Submit contact / quote form
 */
export declare const SubmitContactBody: zod.ZodObject<{
    type: zod.ZodString;
    name: zod.ZodString;
    email: zod.ZodString;
    phone: zod.ZodOptional<zod.ZodString>;
    subject: zod.ZodOptional<zod.ZodString>;
    message: zod.ZodString;
    apartmentId: zod.ZodOptional<zod.ZodNumber>;
}, "strip", zod.ZodTypeAny, {
    message: string;
    type: string;
    name: string;
    email: string;
    apartmentId?: number | undefined;
    phone?: string | undefined;
    subject?: string | undefined;
}, {
    message: string;
    type: string;
    name: string;
    email: string;
    apartmentId?: number | undefined;
    phone?: string | undefined;
    subject?: string | undefined;
}>;
/**
 * @summary Subscribe to newsletter
 */
export declare const SubscribeNewsletterBody: zod.ZodObject<{
    email: zod.ZodString;
    name: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    email: string;
    name?: string | undefined;
}, {
    email: string;
    name?: string | undefined;
}>;
/**
 * @summary List newsletter subscribers (admin)
 */
export declare const ListNewsletterSubscribersResponseItem: zod.ZodObject<{
    id: zod.ZodNumber;
    email: zod.ZodString;
    name: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    active: zod.ZodOptional<zod.ZodBoolean>;
    createdAt: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    id: number;
    createdAt: string;
    email: string;
    name?: string | null | undefined;
    active?: boolean | undefined;
}, {
    id: number;
    createdAt: string;
    email: string;
    name?: string | null | undefined;
    active?: boolean | undefined;
}>;
export declare const ListNewsletterSubscribersResponse: zod.ZodArray<zod.ZodObject<{
    id: zod.ZodNumber;
    email: zod.ZodString;
    name: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    active: zod.ZodOptional<zod.ZodBoolean>;
    createdAt: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    id: number;
    createdAt: string;
    email: string;
    name?: string | null | undefined;
    active?: boolean | undefined;
}, {
    id: number;
    createdAt: string;
    email: string;
    name?: string | null | undefined;
    active?: boolean | undefined;
}>, "many">;
/**
 * @summary List chat messages for current session/apartment
 */
export declare const ListChatMessagesQueryParams: zod.ZodObject<{
    apartmentId: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    sessionId: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    apartmentId?: number | null | undefined;
    sessionId?: string | undefined;
}, {
    apartmentId?: number | null | undefined;
    sessionId?: string | undefined;
}>;
export declare const ListChatMessagesResponseItem: zod.ZodObject<{
    id: zod.ZodNumber;
    apartmentId: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    sessionId: zod.ZodOptional<zod.ZodString>;
    userId: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    role: zod.ZodString;
    content: zod.ZodString;
    createdAt: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    id: number;
    createdAt: string;
    content: string;
    role: string;
    apartmentId?: number | null | undefined;
    userId?: string | null | undefined;
    sessionId?: string | undefined;
}, {
    id: number;
    createdAt: string;
    content: string;
    role: string;
    apartmentId?: number | null | undefined;
    userId?: string | null | undefined;
    sessionId?: string | undefined;
}>;
export declare const ListChatMessagesResponse: zod.ZodArray<zod.ZodObject<{
    id: zod.ZodNumber;
    apartmentId: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    sessionId: zod.ZodOptional<zod.ZodString>;
    userId: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    role: zod.ZodString;
    content: zod.ZodString;
    createdAt: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    id: number;
    createdAt: string;
    content: string;
    role: string;
    apartmentId?: number | null | undefined;
    userId?: string | null | undefined;
    sessionId?: string | undefined;
}, {
    id: number;
    createdAt: string;
    content: string;
    role: string;
    apartmentId?: number | null | undefined;
    userId?: string | null | undefined;
    sessionId?: string | undefined;
}>, "many">;
/**
 * @summary Send a chat message
 */
export declare const SendChatMessageBody: zod.ZodObject<{
    apartmentId: zod.ZodOptional<zod.ZodNumber>;
    sessionId: zod.ZodString;
    userId: zod.ZodOptional<zod.ZodString>;
    role: zod.ZodString;
    content: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    content: string;
    sessionId: string;
    role: string;
    apartmentId?: number | undefined;
    userId?: string | undefined;
}, {
    content: string;
    sessionId: string;
    role: string;
    apartmentId?: number | undefined;
    userId?: string | undefined;
}>;
/**
 * @summary List gallery images
 */
export declare const ListGalleryImagesQueryParams: zod.ZodObject<{
    apartmentId: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    category: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    apartmentId?: number | null | undefined;
    category?: string | undefined;
}, {
    apartmentId?: number | null | undefined;
    category?: string | undefined;
}>;
export declare const ListGalleryImagesResponseItem: zod.ZodObject<{
    id: zod.ZodNumber;
    apartmentId: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    url: zod.ZodString;
    caption: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    category: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    sortOrder: zod.ZodOptional<zod.ZodNumber>;
    createdAt: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    id: number;
    createdAt: string;
    url: string;
    apartmentId?: number | null | undefined;
    category?: string | null | undefined;
    caption?: string | null | undefined;
    sortOrder?: number | undefined;
}, {
    id: number;
    createdAt: string;
    url: string;
    apartmentId?: number | null | undefined;
    category?: string | null | undefined;
    caption?: string | null | undefined;
    sortOrder?: number | undefined;
}>;
export declare const ListGalleryImagesResponse: zod.ZodArray<zod.ZodObject<{
    id: zod.ZodNumber;
    apartmentId: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    url: zod.ZodString;
    caption: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    category: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    sortOrder: zod.ZodOptional<zod.ZodNumber>;
    createdAt: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    id: number;
    createdAt: string;
    url: string;
    apartmentId?: number | null | undefined;
    category?: string | null | undefined;
    caption?: string | null | undefined;
    sortOrder?: number | undefined;
}, {
    id: number;
    createdAt: string;
    url: string;
    apartmentId?: number | null | undefined;
    category?: string | null | undefined;
    caption?: string | null | undefined;
    sortOrder?: number | undefined;
}>, "many">;
/**
 * @summary Upload gallery image (admin)
 */
export declare const CreateGalleryImageBody: zod.ZodObject<{
    apartmentId: zod.ZodOptional<zod.ZodNumber>;
    url: zod.ZodString;
    caption: zod.ZodOptional<zod.ZodString>;
    category: zod.ZodOptional<zod.ZodString>;
    sortOrder: zod.ZodOptional<zod.ZodNumber>;
}, "strip", zod.ZodTypeAny, {
    url: string;
    apartmentId?: number | undefined;
    category?: string | undefined;
    caption?: string | undefined;
    sortOrder?: number | undefined;
}, {
    url: string;
    apartmentId?: number | undefined;
    category?: string | undefined;
    caption?: string | undefined;
    sortOrder?: number | undefined;
}>;
/**
 * @summary Delete gallery image (admin)
 */
export declare const DeleteGalleryImageParams: zod.ZodObject<{
    id: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
/**
 * @summary Update contact status (admin)
 */
export declare const UpdateContactParams: zod.ZodObject<{
    id: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const UpdateContactBody: zod.ZodObject<{
    status: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    status?: string | undefined;
}, {
    status?: string | undefined;
}>;
export declare const UpdateContactResponse: zod.ZodObject<{
    id: zod.ZodNumber;
    type: zod.ZodString;
    name: zod.ZodString;
    email: zod.ZodString;
    phone: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    subject: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    message: zod.ZodString;
    apartmentId: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    status: zod.ZodOptional<zod.ZodString>;
    createdAt: zod.ZodString;
}, "strip", zod.ZodTypeAny, {
    message: string;
    type: string;
    id: number;
    name: string;
    createdAt: string;
    email: string;
    status?: string | undefined;
    apartmentId?: number | null | undefined;
    phone?: string | null | undefined;
    subject?: string | null | undefined;
}, {
    message: string;
    type: string;
    id: number;
    name: string;
    createdAt: string;
    email: string;
    status?: string | undefined;
    apartmentId?: number | null | undefined;
    phone?: string | null | undefined;
    subject?: string | null | undefined;
}>;
/**
 * @summary List service packages
 */
export declare const ListServicePackagesQueryParams: zod.ZodObject<{
    serviceType: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    serviceType?: string | undefined;
}, {
    serviceType?: string | undefined;
}>;
export declare const ListServicePackagesResponseItem: zod.ZodObject<{
    id: zod.ZodNumber;
    serviceType: zod.ZodString;
    name: zod.ZodString;
    priceDisplay: zod.ZodString;
    priceAmount: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    duration: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    description: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    features: zod.ZodOptional<zod.ZodString>;
    isPopular: zod.ZodOptional<zod.ZodBoolean>;
    sortOrder: zod.ZodNumber;
    active: zod.ZodBoolean;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    id: number;
    name: string;
    active: boolean;
    sortOrder: number;
    serviceType: string;
    priceDisplay: string;
    description?: string | null | undefined;
    updatedAt?: string | undefined;
    priceAmount?: number | null | undefined;
    duration?: string | null | undefined;
    features?: string | undefined;
    isPopular?: boolean | undefined;
}, {
    id: number;
    name: string;
    active: boolean;
    sortOrder: number;
    serviceType: string;
    priceDisplay: string;
    description?: string | null | undefined;
    updatedAt?: string | undefined;
    priceAmount?: number | null | undefined;
    duration?: string | null | undefined;
    features?: string | undefined;
    isPopular?: boolean | undefined;
}>;
export declare const ListServicePackagesResponse: zod.ZodArray<zod.ZodObject<{
    id: zod.ZodNumber;
    serviceType: zod.ZodString;
    name: zod.ZodString;
    priceDisplay: zod.ZodString;
    priceAmount: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    duration: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    description: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    features: zod.ZodOptional<zod.ZodString>;
    isPopular: zod.ZodOptional<zod.ZodBoolean>;
    sortOrder: zod.ZodNumber;
    active: zod.ZodBoolean;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    id: number;
    name: string;
    active: boolean;
    sortOrder: number;
    serviceType: string;
    priceDisplay: string;
    description?: string | null | undefined;
    updatedAt?: string | undefined;
    priceAmount?: number | null | undefined;
    duration?: string | null | undefined;
    features?: string | undefined;
    isPopular?: boolean | undefined;
}, {
    id: number;
    name: string;
    active: boolean;
    sortOrder: number;
    serviceType: string;
    priceDisplay: string;
    description?: string | null | undefined;
    updatedAt?: string | undefined;
    priceAmount?: number | null | undefined;
    duration?: string | null | undefined;
    features?: string | undefined;
    isPopular?: boolean | undefined;
}>, "many">;
/**
 * @summary Update service package price/description (admin)
 */
export declare const UpdateServicePackageParams: zod.ZodObject<{
    id: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const UpdateServicePackageBody: zod.ZodObject<{
    name: zod.ZodOptional<zod.ZodString>;
    priceDisplay: zod.ZodOptional<zod.ZodString>;
    priceAmount: zod.ZodOptional<zod.ZodNumber>;
    duration: zod.ZodOptional<zod.ZodString>;
    description: zod.ZodOptional<zod.ZodString>;
    features: zod.ZodOptional<zod.ZodString>;
    isPopular: zod.ZodOptional<zod.ZodBoolean>;
    active: zod.ZodOptional<zod.ZodBoolean>;
}, "strip", zod.ZodTypeAny, {
    name?: string | undefined;
    description?: string | undefined;
    active?: boolean | undefined;
    priceDisplay?: string | undefined;
    priceAmount?: number | undefined;
    duration?: string | undefined;
    features?: string | undefined;
    isPopular?: boolean | undefined;
}, {
    name?: string | undefined;
    description?: string | undefined;
    active?: boolean | undefined;
    priceDisplay?: string | undefined;
    priceAmount?: number | undefined;
    duration?: string | undefined;
    features?: string | undefined;
    isPopular?: boolean | undefined;
}>;
export declare const UpdateServicePackageResponse: zod.ZodObject<{
    id: zod.ZodNumber;
    serviceType: zod.ZodString;
    name: zod.ZodString;
    priceDisplay: zod.ZodString;
    priceAmount: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
    duration: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    description: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
    features: zod.ZodOptional<zod.ZodString>;
    isPopular: zod.ZodOptional<zod.ZodBoolean>;
    sortOrder: zod.ZodNumber;
    active: zod.ZodBoolean;
    updatedAt: zod.ZodOptional<zod.ZodString>;
}, "strip", zod.ZodTypeAny, {
    id: number;
    name: string;
    active: boolean;
    sortOrder: number;
    serviceType: string;
    priceDisplay: string;
    description?: string | null | undefined;
    updatedAt?: string | undefined;
    priceAmount?: number | null | undefined;
    duration?: string | null | undefined;
    features?: string | undefined;
    isPopular?: boolean | undefined;
}, {
    id: number;
    name: string;
    active: boolean;
    sortOrder: number;
    serviceType: string;
    priceDisplay: string;
    description?: string | null | undefined;
    updatedAt?: string | undefined;
    priceAmount?: number | null | undefined;
    duration?: string | null | undefined;
    features?: string | undefined;
    isPopular?: boolean | undefined;
}>;
/**
 * @summary Admin dashboard summary stats
 */
export declare const GetDashboardStatsResponse: zod.ZodObject<{
    totalApartments: zod.ZodNumber;
    availableApartments: zod.ZodNumber;
    totalBookings: zod.ZodNumber;
    pendingBookings: zod.ZodOptional<zod.ZodNumber>;
    totalContacts: zod.ZodNumber;
    totalBlogPosts: zod.ZodNumber;
    totalReviews: zod.ZodNumber;
    avgRating: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
}, "strip", zod.ZodTypeAny, {
    totalApartments: number;
    availableApartments: number;
    totalBookings: number;
    totalContacts: number;
    totalBlogPosts: number;
    totalReviews: number;
    pendingBookings?: number | undefined;
    avgRating?: number | null | undefined;
}, {
    totalApartments: number;
    availableApartments: number;
    totalBookings: number;
    totalContacts: number;
    totalBlogPosts: number;
    totalReviews: number;
    pendingBookings?: number | undefined;
    avgRating?: number | null | undefined;
}>;
/**
 * @summary Apartment count and avg price per city
 */
export declare const GetCityStatsResponseItem: zod.ZodObject<{
    city: zod.ZodString;
    count: zod.ZodNumber;
    avgPrice: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    city: string;
    count: number;
    avgPrice: number;
}, {
    city: string;
    count: number;
    avgPrice: number;
}>;
export declare const GetCityStatsResponse: zod.ZodArray<zod.ZodObject<{
    city: zod.ZodString;
    count: zod.ZodNumber;
    avgPrice: zod.ZodNumber;
}, "strip", zod.ZodTypeAny, {
    city: string;
    count: number;
    avgPrice: number;
}, {
    city: string;
    count: number;
    avgPrice: number;
}>, "many">;
//# sourceMappingURL=api.d.ts.map