import type { ColumnType } from "kysely";
export type Generated<T> = T extends ColumnType<infer S, infer I, infer U> ? ColumnType<S, I | undefined, U> : ColumnType<T, T | undefined, T>;
export type Int8 = ColumnType<string, bigint | number | string, bigint | number | string>;
export type Json = JsonValue;
export type JsonArray = JsonValue[];
export type JsonObject = {
    [x: string]: JsonValue | undefined;
};
export type JsonPrimitive = boolean | number | string | null;
export type JsonValue = JsonArray | JsonObject | JsonPrimitive;
export type Numeric = ColumnType<string, number | string, number | string>;
export type Timestamp = ColumnType<Date, Date | string, Date | string>;
export interface AdRewardEvents {
    ad_network: Generated<string>;
    ad_unit_id: string | null;
    claimed_at: Timestamp | null;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    expires_at: Timestamp | null;
    id: Generated<string>;
    idempotency_key: string | null;
    intent_token: string;
    reward_type: string;
    reward_value: Generated<number>;
    status: Generated<string>;
    updated_at: Generated<Timestamp>;
    user_id: string | null;
    verification_hash: string | null;
    verification_key_id: string | null;
    verification_payload: Generated<Json>;
    verification_signature: string | null;
    verified_at: Timestamp | null;
}
export interface Ads {
    ad_image_uri: string | null;
    approved_at: Timestamp | null;
    approved_by: string | null;
    business_name: string;
    business_type: Generated<string | null>;
    contact_email: string | null;
    contact_name: string | null;
    contact_phone: string | null;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    description: string | null;
    duration_days: Generated<number | null>;
    end_date: Timestamp | null;
    id: Generated<string>;
    image_uri: string;
    is_reward_enabled: Generated<boolean>;
    link_type: Generated<string>;
    link_url: string | null;
    logo_uri: string | null;
    placement: Generated<string | null>;
    reward_type: Generated<string>;
    reward_value: Generated<number>;
    reward_watch_seconds: Generated<number>;
    start_date: Timestamp | null;
    status: Generated<string | null>;
    user_id: string | null;
    video_url: string | null;
    website: string | null;
}
export interface Admins {
    created_at: Generated<Timestamp>;
    created_by: string | null;
    deleted_at: Timestamp | null;
    display_name: string;
    email: string;
    id: Generated<string>;
    is_active: Generated<boolean>;
    last_login_at: Timestamp | null;
    password_hash: string;
    role: Generated<string>;
    updated_at: Generated<Timestamp>;
}
export interface AnalyticsEvents {
    created_at: Generated<Timestamp | null>;
    deleted_at: Timestamp | null;
    event_name: string;
    id: Generated<Int8>;
    ip_address: string | null;
    metadata: Json | null;
    page_url: string | null;
    platform: string | null;
    properties: Generated<Json | null>;
    referrer: string | null;
    session_id: string | null;
    user_agent: string | null;
    user_id: string | null;
}
export interface AppSettings {
    deleted_at: Timestamp | null;
    key: string;
    updated_at: Generated<Timestamp>;
    value: string;
}
export interface BlockedUsers {
    blocked_id: string;
    blocker_id: string;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    id: Generated<string>;
}
export interface Blogs {
    author_name: Generated<string>;
    category: string | null;
    content: string;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    excerpt: string;
    featured_image_url: string | null;
    id: Generated<string>;
    is_published: Generated<boolean | null>;
    published_at: Timestamp | null;
    slug: string;
    tags: Generated<Json | null>;
    title: string;
    updated_at: Generated<Timestamp>;
    view_count: Generated<number | null>;
}
export interface ClaimRequests {
    claimer_user_id: string;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    found_report_id: string;
    found_user_id: string;
    id: Generated<string>;
    lost_report_id: string;
    status: Generated<string>;
}
export interface Comments {
    author: string;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    id: Generated<string>;
    report_id: string;
    text: string;
    user_id: string | null;
}
export interface ContentReports {
    comment_id: string | null;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    details: string | null;
    id: Generated<string>;
    reason: string;
    report_id: string | null;
    reporter_id: string;
    status: Generated<string>;
}
export interface Conversations {
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    id: Generated<string>;
    last_message_at: Generated<Timestamp>;
    last_message_text: Generated<string>;
    participant1_id: string;
    participant2_id: string;
    report_id: string | null;
}
export interface CreditLedger {
    balance_after: number;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    delta: number;
    id: Generated<string>;
    idempotency_key: string;
    metadata: Generated<Json>;
    reason: string;
    reference_id: string | null;
    reference_type: string;
    user_id: string | null;
}
export interface CreditPurchaseLogs {
    created_at: Generated<Timestamp>;
    credits_amount: number;
    currency: Generated<string>;
    deleted_at: Timestamp | null;
    environment: Generated<string>;
    id: Generated<string>;
    original_transaction_id: string | null;
    platform: string;
    price_usd: Numeric | null;
    product_id: string;
    purchase_token: string | null;
    store_payload: Generated<Json | null>;
    transaction_id: string | null;
    updated_at: Generated<Timestamp>;
    user_id: string | null;
}
export interface Devices {
    app_version: string;
    build_number: string | null;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    device_id: string;
    expo_push_token: string | null;
    id: Generated<string>;
    ip_city: string | null;
    ip_country: string | null;
    ip_country_code: string | null;
    ip_latitude: number | null;
    ip_longitude: number | null;
    last_active_at: Generated<Timestamp>;
    last_ip: string | null;
    latitude: number | null;
    location_accuracy_m: number | null;
    location_updated_at: Timestamp | null;
    longitude: number | null;
    platform: string;
    updated_at: Generated<Timestamp>;
    user_id: string | null;
}
export interface Faqs {
    answer: string;
    category: string | null;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    display_order: Generated<number | null>;
    id: Generated<string>;
    is_active: Generated<boolean | null>;
    is_published: Generated<boolean | null>;
    order_index: Generated<number | null>;
    question: string;
    updated_at: Generated<Timestamp>;
}
export interface Features {
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    description: string;
    display_order: Generated<number | null>;
    icon_name: string | null;
    icon_url: string | null;
    id: Generated<string>;
    is_active: Generated<boolean | null>;
    is_published: Generated<boolean | null>;
    order_index: Generated<number | null>;
    title: string;
    updated_at: Generated<Timestamp>;
}
export interface FlaggedReports {
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    detected_object: string | null;
    detected_object_confidence: Numeric | null;
    detection_payload: Generated<Json>;
    flag_source: Generated<string>;
    flag_status: Generated<string>;
    id: Generated<string>;
    resolved_at: Timestamp | null;
    review_status: Generated<string>;
    source_table: string;
    system_reason: string | null;
    target_id: string | null;
    target_type: string;
    updated_at: Generated<Timestamp>;
    user_id: string | null;
    user_reason: string | null;
}
export interface FoundReportBonusTokens {
    consumed_at: Timestamp | null;
    consumed_report_id: string | null;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    expires_at: Timestamp;
    id: Generated<string>;
    source_event_id: string | null;
    status: Generated<string>;
    token: string;
    updated_at: Generated<Timestamp>;
    user_id: string | null;
}
export interface HowItWorksSteps {
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    description: string;
    icon_name: string | null;
    icon_url: string | null;
    id: Generated<string>;
    is_active: Generated<boolean | null>;
    step_number: number;
    title: string;
    updated_at: Generated<Timestamp>;
}
export interface Messages {
    conversation_id: string;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    id: Generated<string>;
    read_at: Timestamp | null;
    sender_id: string;
    text: string;
}
export interface Notifications {
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    id: Generated<string>;
    message: string;
    profile_id: string | null;
    quick_snap_id: string | null;
    read: Generated<boolean>;
    read_at: Timestamp | null;
    report_id: string | null;
    source_event_id: string | null;
    title: string;
    type: string;
    user_id: string;
}
export interface OrganisationAnimals {
    breed: Generated<string>;
    color: Generated<string>;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    description: Generated<string>;
    desexed: Generated<boolean>;
    id: Generated<string>;
    intake_date: Timestamp | null;
    intake_type: Generated<string>;
    markings: Generated<string>;
    microchip_number: string | null;
    org_id: string;
    pet_name: Generated<string>;
    pet_type: string;
    photo_uris: Generated<Json>;
    size: Generated<string>;
    status: Generated<string>;
    updated_at: Generated<Timestamp>;
}
export interface Organisations {
    abn: string | null;
    address: string;
    approved_at: Timestamp | null;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    description: string | null;
    email: string;
    id: Generated<string>;
    latitude: Generated<number>;
    logo_uri: string | null;
    longitude: Generated<number>;
    name: string;
    phone: string;
    status: Generated<string>;
    type: string;
    updated_at: Generated<Timestamp>;
    user_id: string;
    website: string | null;
}
export interface PetFlyers {
    created_at: Generated<Timestamp | null>;
    flyer_url: string;
    pet_id: string;
    updated_at: Generated<Timestamp | null>;
}
export interface PetProfiles {
    biometric_photo_uris: Generated<Json>;
    breed: Generated<string>;
    color: Generated<string>;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    id: Generated<string>;
    is_active: Generated<boolean>;
    lost_id: string | null;
    markings: Generated<string>;
    medical_notes: Generated<string>;
    microchip_number: Generated<string>;
    owner_name: Generated<string>;
    owner_phone: Generated<string>;
    pet_name: string;
    pet_type: string;
    photo_uris: Generated<Json>;
    size: Generated<string>;
    suburb: Generated<string>;
    updated_at: Generated<Timestamp>;
    user_id: string;
}
export interface PetReports {
    boost_expires_at: Timestamp | null;
    boosted_at: Timestamp | null;
    breed: Generated<string>;
    color: Generated<string>;
    contact_name: Generated<string>;
    contact_phone: Generated<string>;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    description: Generated<string>;
    flag_id: string | null;
    id: Generated<string>;
    is_active: Generated<boolean>;
    is_boosted: Generated<boolean>;
    is_flagged: Generated<boolean>;
    is_reunited: Generated<boolean | null>;
    last_seen_date: Generated<string>;
    latitude: Generated<number>;
    location_name: Generated<string>;
    longitude: Generated<number>;
    markings: Generated<string>;
    pet_id: string | null;
    pet_name: string;
    pet_reunited_id: string | null;
    pet_type: string;
    photo_uri: Generated<string>;
    photo_uris: Generated<Json>;
    reunion_date: Timestamp | null;
    reunion_message: string | null;
    reward: Generated<string>;
    reward_pool: Generated<number>;
    show_contact_public: Generated<boolean>;
    size: Generated<string>;
    status: Generated<string>;
    updated_at: Generated<Timestamp>;
    user_id: string;
}
export interface PricingFeatures {
    created_at: Generated<Timestamp | null>;
    deleted_at: Timestamp | null;
    display_order: Generated<number | null>;
    free_value: string;
    icon: string;
    id: Generated<number>;
    label: string;
    premium_value: string;
    updated_at: Generated<Timestamp | null>;
}
export interface PricingPlans {
    apple_product_id: string | null;
    billing_period: Generated<string>;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    description: string | null;
    display_order: Generated<number | null>;
    features: Generated<Json | null>;
    google_product_id: string | null;
    id: Generated<string>;
    is_active: Generated<boolean | null>;
    is_popular: Generated<boolean | null>;
    name: string;
    price_aud: Numeric;
    stripe_price_id: string | null;
    updated_at: Generated<Timestamp>;
}
export interface PurchaseEvents {
    app_bundle_id: string | null;
    country_code: string | null;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    environment: Generated<string>;
    event_type: string;
    expires_at: Timestamp | null;
    expires_date_ms: Int8 | null;
    id: Generated<string>;
    original_purchase_date_ms: Int8 | null;
    original_transaction_id: string | null;
    ownership_type: string | null;
    platform: string;
    product_id: string | null;
    purchase_date_ms: Int8 | null;
    store_payload: Generated<Json | null>;
    storefront_country_code: string | null;
    subscription_group_id: string | null;
    transaction_id: string | null;
    transaction_reason: string | null;
    user_id: string | null;
    web_order_line_item_id: string | null;
}
export interface QuickSnaps {
    breed: Generated<string | null>;
    color: Generated<string | null>;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    flag_id: string | null;
    id: Generated<string>;
    image_url: string;
    is_flagged: Generated<boolean>;
    latitude: Generated<number>;
    location_name: Generated<string>;
    longitude: Generated<number>;
    pet_type: Generated<string | null>;
    photo_uri: string;
    size: Generated<string | null>;
    type: Generated<string>;
    updated_at: Generated<Timestamp>;
    user_id: string;
    visibility: Generated<string>;
}
export interface ReferralAttributions {
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    fraud_reasons: Generated<Json>;
    fraud_score: Generated<number>;
    id: Generated<string>;
    last_checked_at: Timestamp | null;
    meaningful_action_at: Timestamp | null;
    referee_user_id: string;
    referral_code_used: string | null;
    referrer_user_id: string;
    rewarded_at: Timestamp | null;
    signup_device_id: string | null;
    signup_ip_hash: string | null;
    signup_user_agent: string | null;
    status: Generated<string>;
    updated_at: Generated<Timestamp>;
    validated_at: Timestamp | null;
    validation_reason: string | null;
    wait_until: Timestamp;
}
export interface ReferralRewards {
    created_at: Generated<Timestamp>;
    days_awarded: number;
    deleted_at: Timestamp | null;
    id: Generated<string>;
    reason: string;
    type: string;
    user_id: string;
}
export interface ReportLikes {
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    id: Generated<string>;
    report_id: string;
    user_id: string;
}
export interface ReunitedStories {
    after_image_url: string | null;
    before_image_url: string | null;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    featured_on_homepage: Generated<boolean | null>;
    how_they_reunited: string | null;
    id: Generated<string>;
    is_featured: Generated<boolean | null>;
    is_published: Generated<boolean | null>;
    location_found: string | null;
    location_lost: string | null;
    lost_duration_days: number | null;
    owner_name: string;
    pet_name: string;
    pet_type: string;
    reunion_date: Timestamp;
    slug: string;
    story_content: string;
    story_title: string;
    updated_at: Generated<Timestamp>;
    view_count: Generated<number | null>;
}
export interface RewardGrants {
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    granted_at: Generated<Timestamp>;
    granted_days: Generated<number>;
    id: Generated<string>;
    metadata: Generated<Json>;
    reason: string;
    requested_days: number;
    reward_key: string;
    reward_type: string;
    source_event_id: string | null;
    status: string;
    updated_at: Generated<Timestamp>;
    user_id: string;
}
export interface SavedPets {
    created_at: Generated<Timestamp | null>;
    deleted_at: Timestamp | null;
    id: Generated<string>;
    pet_id: string | null;
    user_id: string | null;
}
export interface ScraperRunLog {
    created_at: Generated<Timestamp>;
    error_detail: string | null;
    finished_at: Timestamp | null;
    id: Generated<string>;
    message: Generated<string>;
    records_inserted: Generated<number>;
    scraper_name: string;
    started_at: Timestamp | null;
    status: string;
    trigger: string;
}
export interface ScrappedPetReport {
    boost_expires_at: Timestamp | null;
    boosted_at: Timestamp | null;
    breed: Generated<string>;
    color: Generated<string>;
    contact_email: Generated<string>;
    contact_name: Generated<string>;
    contact_phone: Generated<string>;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    description: Generated<string>;
    details_url: Generated<string>;
    detected_breed: Generated<string>;
    detected_color: Generated<string>;
    detected_is_animal: boolean | null;
    detected_object: Generated<string>;
    detected_object_confidence: number | null;
    detected_type: Generated<string>;
    detection_reason: Generated<string>;
    found_location: Generated<string>;
    id: Generated<string>;
    is_active: Generated<boolean>;
    is_boosted: Generated<boolean>;
    is_reunited: Generated<boolean | null>;
    last_seen_date: Generated<string>;
    latitude: Generated<number>;
    location_name: Generated<string>;
    longitude: Generated<number>;
    markings: Generated<string>;
    microchip_number: string | null;
    pet_name: Generated<string>;
    pet_reunited_id: string | null;
    pet_type: Generated<string>;
    photo_uri: Generated<string>;
    photo_uris: Generated<Json>;
    raw_text: Generated<string>;
    reunion_date: Timestamp | null;
    reunion_message: string | null;
    reward: Generated<string>;
    reward_pool: Generated<number>;
    scraped_animal_id: Generated<string>;
    scraped_at: Generated<Timestamp>;
    sex: Generated<string>;
    show_contact_public: Generated<boolean>;
    size: Generated<string>;
    status: Generated<string>;
    updated_at: Generated<Timestamp>;
    website_id: string;
}
export interface SocialShares {
    activity_quality_score: Generated<number>;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    device_id: string | null;
    fraud_reasons: Generated<Json>;
    fraud_score: Generated<number>;
    id: Generated<string>;
    ip_hash: string | null;
    platform: string;
    share_duration_ms: number | null;
    share_intent_token: string | null;
    shared_date: Generated<Timestamp>;
    status: Generated<string>;
    user_id: string;
    validated_at: Timestamp | null;
    validation_reason: string | null;
}
export interface Subscriptions {
    cancelled_at: Timestamp | null;
    created_at: Generated<Timestamp>;
    current_period_end: Timestamp | null;
    current_period_start: Timestamp | null;
    deleted_at: Timestamp | null;
    expires_at: Timestamp | null;
    id: Generated<string>;
    latest_transaction_id: string | null;
    original_transaction_id: string | null;
    plan: Generated<string>;
    product_id: string | null;
    revenuecat_customer_id: string | null;
    source: string;
    started_at: Generated<Timestamp>;
    status: Generated<string>;
    store_product_id: string | null;
    updated_at: Generated<Timestamp>;
    user_id: string;
}
export interface TimelineEvents {
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    description: string;
    id: Generated<string>;
    report_id: string;
    type: string;
}
export interface Users {
    additional_credits: Generated<number>;
    apple_subject: string | null;
    basic_credits: Generated<number>;
    consent_ai: Generated<boolean>;
    consent_data_storage: Generated<boolean>;
    consent_date: Timestamp | null;
    consent_privacy: Generated<boolean>;
    consent_terms: Generated<boolean>;
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    display_name: string;
    email: string;
    email_verified_at: Timestamp | null;
    email_verify_otp: string | null;
    email_verify_otp_expires_at: Timestamp | null;
    google_subject: string | null;
    id: Generated<string>;
    last_seen_at: Timestamp | null;
    password_hash: string;
    phone: string | null;
    premium_source: string | null;
    premium_until: Timestamp | null;
    push_token: string | null;
    referral_code: string | null;
    referred_by: string | null;
    reset_otp: string | null;
    reset_otp_expires_at: Timestamp | null;
    role: Generated<string>;
    social_auth_provider: string | null;
    updated_at: Generated<Timestamp>;
}
export interface WebhookEvents {
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    event_id: string;
    id: Generated<string>;
    payload: Generated<Json | null>;
    processed: Generated<boolean>;
    processed_at: Timestamp | null;
    source: string;
}
export interface Websites {
    base_url: Generated<string>;
    created_at: Generated<Timestamp>;
    id: Generated<string>;
    is_active: Generated<boolean>;
    key: string;
    last_scrape_message: string | null;
    last_scrape_started_at: Timestamp | null;
    last_scrape_status: string | null;
    last_scraped_at: Timestamp | null;
    list_url: Generated<string>;
    name: string;
    next_scrape_at: Timestamp | null;
    requested_by: string | null;
    scraper_run_hour: Generated<number>;
    scraper_run_minute: Generated<number>;
    scraper_timezone: Generated<string>;
    status: Generated<string>;
    updated_at: Generated<Timestamp>;
}
export interface WhoItsForSegments {
    created_at: Generated<Timestamp>;
    deleted_at: Timestamp | null;
    description: string;
    display_order: Generated<number | null>;
    icon_name: string | null;
    icon_url: string | null;
    id: Generated<string>;
    is_active: Generated<boolean | null>;
    title: string;
    updated_at: Generated<Timestamp>;
    use_cases: Generated<Json | null>;
}
export interface DB {
    ad_reward_events: AdRewardEvents;
    admins: Admins;
    ads: Ads;
    analytics_events: AnalyticsEvents;
    app_settings: AppSettings;
    blocked_users: BlockedUsers;
    blogs: Blogs;
    claim_requests: ClaimRequests;
    comments: Comments;
    content_reports: ContentReports;
    conversations: Conversations;
    credit_ledger: CreditLedger;
    credit_purchase_logs: CreditPurchaseLogs;
    devices: Devices;
    faqs: Faqs;
    features: Features;
    flagged_reports: FlaggedReports;
    found_report_bonus_tokens: FoundReportBonusTokens;
    how_it_works_steps: HowItWorksSteps;
    messages: Messages;
    notifications: Notifications;
    organisation_animals: OrganisationAnimals;
    organisations: Organisations;
    pet_flyers: PetFlyers;
    pet_profiles: PetProfiles;
    pet_reports: PetReports;
    pricing_features: PricingFeatures;
    pricing_plans: PricingPlans;
    purchase_events: PurchaseEvents;
    quick_snaps: QuickSnaps;
    referral_attributions: ReferralAttributions;
    referral_rewards: ReferralRewards;
    report_likes: ReportLikes;
    reunited_stories: ReunitedStories;
    reward_grants: RewardGrants;
    saved_pets: SavedPets;
    scraper_run_log: ScraperRunLog;
    scrapped_pet_report: ScrappedPetReport;
    social_shares: SocialShares;
    subscriptions: Subscriptions;
    timeline_events: TimelineEvents;
    users: Users;
    webhook_events: WebhookEvents;
    websites: Websites;
    who_its_for_segments: WhoItsForSegments;
}
