export declare enum AuditEntityType {
    QUERY = "query",
    QUERY_QUOTE = "query_quote",
    BOOKING = "booking",
    BOOKING_TRANSPORT_ITEM = "booking_transport_item",
    BOOKING_ACTIVITY_ITEM = "booking_activity_item",
    BOOKING_HOTEL_ITEM = "booking_hotel_item",
    BOOKING_SPECIAL_ITEM = "booking_special_item",
    CHANGE_REQUEST = "change_request",
    USER = "user",
    ROLE = "role",
    PERMISSION = "permission",
    TENANT_SETTINGS = "tenant_settings"
}
export declare enum AuditAction {
    CREATED = "created",
    UPDATED = "updated",
    DELETED = "deleted",
    RESTORED = "restored",
    STAGE_CHANGED = "stage_changed",
    STATUS_CHANGED = "status_changed",
    ASSIGNED = "assigned",
    UNASSIGNED = "unassigned",
    SWAPPED = "swapped",
    RESCHEDULED = "rescheduled",
    PRICE_OVERRIDDEN = "price_overridden",
    CONVERTED = "converted"
}
export type AuditChange = {
    field: string;
    old_value: unknown;
    new_value: unknown;
};
export declare function isRedactedField(field: string): boolean;
export declare function isIgnoredField(field: string): boolean;
export declare function diffSnapshots(before: Record<string, unknown> | null | undefined, after: Record<string, unknown> | null | undefined): AuditChange[];
