import { BaseEntity } from '../database/base.entity';
import { BookingEntity } from './booking.entity';
import { QueryQuoteEntity } from './query-quote.entity';
import { UserEntity } from './user.entity';
export declare enum ChangeRequestKind {
    ITINERARY = "itinerary",
    ZERO_VALUE = "zero_value",
    SELLING_PRICE = "selling_price",
    BELOW_FLOOR_PRICE = "below_floor_price",
    SAME_DAY_BOOKING = "same_day_booking",
    NEXT_DAY_BOOKING = "next_day_booking",
    POST_CONFIRM_EDIT = "post_confirm_edit"
}
export declare enum ChangeRequestStatus {
    PENDING = "pending",
    APPROVED = "approved",
    REJECTED = "rejected",
    ON_HOLD = "on_hold",
    WITHDRAWN = "withdrawn"
}
export declare class BookingChangeRequestEntity extends BaseEntity {
    booking: BookingEntity | null;
    booking_id: string | null;
    quote: QueryQuoteEntity | null;
    quote_id: string | null;
    kind: ChangeRequestKind;
    status: ChangeRequestStatus;
    requester: UserEntity | null;
    requester_id: string | null;
    requester_remarks: string | null;
    decided_by_user: UserEntity | null;
    decided_by: string | null;
    decision_remarks: string | null;
    decided_at: Date | null;
    payload: Record<string, unknown>;
    before_snapshot: Record<string, unknown> | null;
}
