import { Session, User } from "@supabase/supabase-js";
import { Distinct } from "helpers/ts-type-helpers";
import { PageSuggestion, PlanType, Project, UserMetaData } from "../data/types";
import { Database } from "./generated-types";
type OverrideValueSymbol = Distinct<symbol, "OverrideValueSymbol">;
type Overwrite<T, U, R> = T extends object ? {
    [K in keyof T]: K extends keyof U ? U[K] extends OverrideValueSymbol ? R : U[K] extends object ? Overwrite<T[K], U[K], R> : U[K] : T[K];
} : never;
export type SupabaseDatabase = Overwrite<Overwrite<Overwrite<Overwrite<Overwrite<Overwrite<Overwrite<Overwrite<Overwrite<Overwrite<Overwrite<Overwrite<Database, {
    public: {
        Tables: {
            teams: {
                Row: {
                    plan_type: OverrideValueSymbol;
                };
            };
        };
    };
}, PlanType>, {
    public: {
        Tables: {
            teams: {
                Insert: {
                    plan_type: OverrideValueSymbol;
                };
            };
        };
    };
}, PlanType>, {
    public: {
        Tables: {
            teams: {
                Update: {
                    plan_type: OverrideValueSymbol;
                };
            };
        };
    };
}, PlanType>, {
    public: {
        Views: {
            users: {
                Row: {
                    raw_user_meta_data: OverrideValueSymbol;
                };
            };
        };
    };
}, UserMetaData>, {
    public: {
        Views: {
            users: {
                Insert: {
                    raw_user_meta_data: OverrideValueSymbol;
                };
            };
        };
    };
}, UserMetaData>, {
    public: {
        Views: {
            users: {
                Update: {
                    raw_user_meta_data: OverrideValueSymbol;
                };
            };
        };
    };
}, UserMetaData>, {
    public: {
        Tables: {
            projects: {
                Row: {
                    json_data: OverrideValueSymbol;
                };
            };
        };
    };
}, Project>, {
    public: {
        Tables: {
            projects: {
                Insert: {
                    json_data: OverrideValueSymbol;
                };
            };
        };
    };
}, Project>, {
    public: {
        Tables: {
            projects: {
                Update: {
                    json_data: OverrideValueSymbol;
                };
            };
        };
    };
}, Project>, {
    public: {
        Tables: {
            projects: {
                Row: {
                    page_suggestions: OverrideValueSymbol;
                };
            };
        };
    };
}, PageSuggestion[] | null>, {
    public: {
        Tables: {
            projects: {
                Insert: {
                    page_suggestions: OverrideValueSymbol;
                };
            };
        };
    };
}, PageSuggestion[] | null>, {
    public: {
        Tables: {
            projects: {
                Update: {
                    page_suggestions: OverrideValueSymbol;
                };
            };
        };
    };
}, PageSuggestion[] | null>;
export type SupabaseTeam = SupabaseDatabase["public"]["Tables"]["teams"]["Row"];
export type SupabaseUserProfile = SupabaseDatabase["public"]["Tables"]["profiles"]["Row"];
export type SupabaseProject = SupabaseDatabase["public"]["Tables"]["projects"]["Row"];
export type SupabaseUser = User;
export type SupabaseSession = Session;
export {};
//# sourceMappingURL=supabase-types.d.ts.map