import { z } from "zod/v4";
export declare const bookingsTable: import("drizzle-orm/pg-core").PgTableWithColumns<{
    name: "bookings";
    schema: undefined;
    columns: {
        id: import("drizzle-orm/pg-core").PgColumn<{
            name: "id";
            tableName: "bookings";
            dataType: "number";
            columnType: "PgSerial";
            data: number;
            driverParam: number;
            notNull: true;
            hasDefault: true;
            isPrimaryKey: true;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: undefined;
            baseColumn: never;
            identity: undefined;
            generated: undefined;
        }, {}, {}>;
        userId: import("drizzle-orm/pg-core").PgColumn<{
            name: "user_id";
            tableName: "bookings";
            dataType: "number";
            columnType: "PgInteger";
            data: number;
            driverParam: string | number;
            notNull: true;
            hasDefault: false;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: undefined;
            baseColumn: never;
            identity: undefined;
            generated: undefined;
        }, {}, {}>;
        profileId: import("drizzle-orm/pg-core").PgColumn<{
            name: "profile_id";
            tableName: "bookings";
            dataType: "number";
            columnType: "PgInteger";
            data: number;
            driverParam: string | number;
            notNull: false;
            hasDefault: false;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: undefined;
            baseColumn: never;
            identity: undefined;
            generated: undefined;
        }, {}, {}>;
        locationId: import("drizzle-orm/pg-core").PgColumn<{
            name: "location_id";
            tableName: "bookings";
            dataType: "number";
            columnType: "PgInteger";
            data: number;
            driverParam: string | number;
            notNull: false;
            hasDefault: false;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: undefined;
            baseColumn: never;
            identity: undefined;
            generated: undefined;
        }, {}, {}>;
        serviceId: import("drizzle-orm/pg-core").PgColumn<{
            name: "service_id";
            tableName: "bookings";
            dataType: "number";
            columnType: "PgInteger";
            data: number;
            driverParam: string | number;
            notNull: false;
            hasDefault: false;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: undefined;
            baseColumn: never;
            identity: undefined;
            generated: undefined;
        }, {}, {}>;
        duration: import("drizzle-orm/pg-core").PgColumn<{
            name: "duration";
            tableName: "bookings";
            dataType: "string";
            columnType: "PgText";
            data: "1h" | "2h" | "full_day" | "night";
            driverParam: string;
            notNull: false;
            hasDefault: false;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: ["1h", "2h", "full_day", "night"];
            baseColumn: never;
            identity: undefined;
            generated: undefined;
        }, {}, {}>;
        locationType: import("drizzle-orm/pg-core").PgColumn<{
            name: "location_type";
            tableName: "bookings";
            dataType: "string";
            columnType: "PgText";
            data: "in_studio" | "customer_location";
            driverParam: string;
            notNull: false;
            hasDefault: false;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: ["in_studio", "customer_location"];
            baseColumn: never;
            identity: undefined;
            generated: undefined;
        }, {}, {}>;
        totalPrice: import("drizzle-orm/pg-core").PgColumn<{
            name: "total_price";
            tableName: "bookings";
            dataType: "number";
            columnType: "PgInteger";
            data: number;
            driverParam: string | number;
            notNull: false;
            hasDefault: false;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: undefined;
            baseColumn: never;
            identity: undefined;
            generated: undefined;
        }, {}, {}>;
        status: import("drizzle-orm/pg-core").PgColumn<{
            name: "status";
            tableName: "bookings";
            dataType: "string";
            columnType: "PgText";
            data: "pending" | "rejected" | "accepted" | "paid" | "proof_uploaded" | "completed" | "cancelled" | "refunded";
            driverParam: string;
            notNull: true;
            hasDefault: true;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: ["pending", "accepted", "paid", "proof_uploaded", "completed", "rejected", "cancelled", "refunded"];
            baseColumn: never;
            identity: undefined;
            generated: undefined;
        }, {}, {}>;
        notes: import("drizzle-orm/pg-core").PgColumn<{
            name: "notes";
            tableName: "bookings";
            dataType: "string";
            columnType: "PgText";
            data: string;
            driverParam: string;
            notNull: false;
            hasDefault: false;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: [string, ...string[]];
            baseColumn: never;
            identity: undefined;
            generated: undefined;
        }, {}, {}>;
        scheduledAt: import("drizzle-orm/pg-core").PgColumn<{
            name: "scheduled_at";
            tableName: "bookings";
            dataType: "date";
            columnType: "PgTimestamp";
            data: Date;
            driverParam: string;
            notNull: false;
            hasDefault: false;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: undefined;
            baseColumn: never;
            identity: undefined;
            generated: undefined;
        }, {}, {}>;
        createdAt: import("drizzle-orm/pg-core").PgColumn<{
            name: "created_at";
            tableName: "bookings";
            dataType: "date";
            columnType: "PgTimestamp";
            data: Date;
            driverParam: string;
            notNull: true;
            hasDefault: true;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: undefined;
            baseColumn: never;
            identity: undefined;
            generated: undefined;
        }, {}, {}>;
        updatedAt: import("drizzle-orm/pg-core").PgColumn<{
            name: "updated_at";
            tableName: "bookings";
            dataType: "date";
            columnType: "PgTimestamp";
            data: Date;
            driverParam: string;
            notNull: true;
            hasDefault: true;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: undefined;
            baseColumn: never;
            identity: undefined;
            generated: undefined;
        }, {}, {}>;
    };
    dialect: "pg";
}>;
export declare const insertBookingSchema: z.ZodObject<{
    duration: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
        "1h": "1h";
        "2h": "2h";
        full_day: "full_day";
        night: "night";
    }>>>;
    profileId: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
    userId: z.ZodInt;
    locationId: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
    serviceId: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
    locationType: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
        in_studio: "in_studio";
        customer_location: "customer_location";
    }>>>;
    totalPrice: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
    status: z.ZodOptional<z.ZodEnum<{
        pending: "pending";
        rejected: "rejected";
        accepted: "accepted";
        paid: "paid";
        proof_uploaded: "proof_uploaded";
        completed: "completed";
        cancelled: "cancelled";
        refunded: "refunded";
    }>>;
    notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    scheduledAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
}, {
    out: {};
    in: {};
}>;
export type InsertBooking = z.infer<typeof insertBookingSchema>;
export type Booking = typeof bookingsTable.$inferSelect;
//# sourceMappingURL=bookings.d.ts.map