export type Json = string | number | boolean | null | {
    [key: string]: Json | undefined;
} | Json[];
export type Database = {
    public: {
        Tables: {
            profiles: {
                Row: {
                    has_dismissed_getting_started_banner: boolean;
                    has_dismissed_quick_start_checklist: boolean;
                    has_onboarded: boolean;
                    id: string;
                };
                Insert: {
                    has_dismissed_getting_started_banner?: boolean;
                    has_dismissed_quick_start_checklist?: boolean;
                    has_onboarded?: boolean;
                    id: string;
                };
                Update: {
                    has_dismissed_getting_started_banner?: boolean;
                    has_dismissed_quick_start_checklist?: boolean;
                    has_onboarded?: boolean;
                    id?: string;
                };
                Relationships: [
                    {
                        foreignKeyName: "profiles_id_fkey";
                        columns: ["id"];
                        isOneToOne: true;
                        referencedRelation: "users";
                        referencedColumns: ["id"];
                    },
                    {
                        foreignKeyName: "profiles_id_fkey";
                        columns: ["id"];
                        isOneToOne: true;
                        referencedRelation: "users";
                        referencedColumns: ["id"];
                    }
                ];
            };
            projects: {
                Row: {
                    commit_version: number;
                    company_context: string | null;
                    company_name: string | null;
                    created_at: string | null;
                    id: string;
                    json_data: Json;
                    ops_transaction_id: string | null;
                    page_suggestions: Json | null;
                    schema_version: number;
                    subframe_import_alias: string;
                    team_id: number;
                    updated_at: string;
                };
                Insert: {
                    commit_version?: number;
                    company_context?: string | null;
                    company_name?: string | null;
                    created_at?: string | null;
                    id?: string;
                    json_data: Json;
                    ops_transaction_id?: string | null;
                    page_suggestions?: Json | null;
                    schema_version: number;
                    subframe_import_alias?: string;
                    team_id: number;
                    updated_at?: string;
                };
                Update: {
                    commit_version?: number;
                    company_context?: string | null;
                    company_name?: string | null;
                    created_at?: string | null;
                    id?: string;
                    json_data?: Json;
                    ops_transaction_id?: string | null;
                    page_suggestions?: Json | null;
                    schema_version?: number;
                    subframe_import_alias?: string;
                    team_id?: number;
                    updated_at?: string;
                };
                Relationships: [
                    {
                        foreignKeyName: "projects_team_id_fkey";
                        columns: ["team_id"];
                        isOneToOne: true;
                        referencedRelation: "teams";
                        referencedColumns: ["id"];
                    }
                ];
            };
            teams: {
                Row: {
                    created_at: string | null;
                    domain: string | null;
                    free_trial_completion_timestamp: string;
                    has_onboarded: boolean;
                    id: number;
                    plan_type: string;
                    stripe_customer_id: string | null;
                    stripe_subscription_id: string | null;
                    supports_ai: boolean;
                };
                Insert: {
                    created_at?: string | null;
                    domain?: string | null;
                    free_trial_completion_timestamp?: string;
                    has_onboarded?: boolean;
                    id?: number;
                    plan_type?: string;
                    stripe_customer_id?: string | null;
                    stripe_subscription_id?: string | null;
                    supports_ai?: boolean;
                };
                Update: {
                    created_at?: string | null;
                    domain?: string | null;
                    free_trial_completion_timestamp?: string;
                    has_onboarded?: boolean;
                    id?: number;
                    plan_type?: string;
                    stripe_customer_id?: string | null;
                    stripe_subscription_id?: string | null;
                    supports_ai?: boolean;
                };
                Relationships: [];
            };
            teams_users: {
                Row: {
                    created_at: string | null;
                    id: number;
                    state: string;
                    team_id: number;
                    user_id: string;
                };
                Insert: {
                    created_at?: string | null;
                    id?: number;
                    state?: string;
                    team_id: number;
                    user_id: string;
                };
                Update: {
                    created_at?: string | null;
                    id?: number;
                    state?: string;
                    team_id?: number;
                    user_id?: string;
                };
                Relationships: [
                    {
                        foreignKeyName: "teams_users_team_id_fkey";
                        columns: ["team_id"];
                        isOneToOne: false;
                        referencedRelation: "teams";
                        referencedColumns: ["id"];
                    },
                    {
                        foreignKeyName: "teams_users_user_id_fkey";
                        columns: ["user_id"];
                        isOneToOne: false;
                        referencedRelation: "users";
                        referencedColumns: ["id"];
                    },
                    {
                        foreignKeyName: "teams_users_user_id_fkey";
                        columns: ["user_id"];
                        isOneToOne: false;
                        referencedRelation: "users";
                        referencedColumns: ["id"];
                    }
                ];
            };
            user_whitelist: {
                Row: {
                    created_at: string | null;
                    email: string;
                    id: number;
                    team_id: number | null;
                };
                Insert: {
                    created_at?: string | null;
                    email: string;
                    id?: number;
                    team_id?: number | null;
                };
                Update: {
                    created_at?: string | null;
                    email?: string;
                    id?: number;
                    team_id?: number | null;
                };
                Relationships: [
                    {
                        foreignKeyName: "user_whitelist_team_id_fkey";
                        columns: ["team_id"];
                        isOneToOne: false;
                        referencedRelation: "teams";
                        referencedColumns: ["id"];
                    }
                ];
            };
        };
        Views: {
            users: {
                Row: {
                    created_at: string | null;
                    deleted_at: string | null;
                    email: string | null;
                    email_confirmed_at: string | null;
                    id: string | null;
                    is_sso_user: boolean | null;
                    last_sign_in_at: string | null;
                    phone: string | null;
                    raw_app_meta_data: Json | null;
                    raw_user_meta_data: Json | null;
                    role: string | null;
                    updated_at: string | null;
                };
                Insert: {
                    created_at?: string | null;
                    deleted_at?: string | null;
                    email?: string | null;
                    email_confirmed_at?: string | null;
                    id?: string | null;
                    is_sso_user?: boolean | null;
                    last_sign_in_at?: string | null;
                    phone?: string | null;
                    raw_app_meta_data?: Json | null;
                    raw_user_meta_data?: Json | null;
                    role?: string | null;
                    updated_at?: string | null;
                };
                Update: {
                    created_at?: string | null;
                    deleted_at?: string | null;
                    email?: string | null;
                    email_confirmed_at?: string | null;
                    id?: string | null;
                    is_sso_user?: boolean | null;
                    last_sign_in_at?: string | null;
                    phone?: string | null;
                    raw_app_meta_data?: Json | null;
                    raw_user_meta_data?: Json | null;
                    role?: string | null;
                    updated_at?: string | null;
                };
                Relationships: [];
            };
        };
        Functions: {
            generate_hmac: {
                Args: {
                    secret_key: string;
                    message: string;
                };
                Returns: string;
            };
            is_member_of: {
                Args: {
                    _user_id: string;
                    _team_id: number;
                };
                Returns: boolean;
            };
        };
        Enums: {
            [_ in never]: never;
        };
        CompositeTypes: {
            [_ in never]: never;
        };
    };
    storage: {
        Tables: {
            buckets: {
                Row: {
                    allowed_mime_types: string[] | null;
                    avif_autodetection: boolean | null;
                    created_at: string | null;
                    file_size_limit: number | null;
                    id: string;
                    name: string;
                    owner: string | null;
                    owner_id: string | null;
                    public: boolean | null;
                    updated_at: string | null;
                };
                Insert: {
                    allowed_mime_types?: string[] | null;
                    avif_autodetection?: boolean | null;
                    created_at?: string | null;
                    file_size_limit?: number | null;
                    id: string;
                    name: string;
                    owner?: string | null;
                    owner_id?: string | null;
                    public?: boolean | null;
                    updated_at?: string | null;
                };
                Update: {
                    allowed_mime_types?: string[] | null;
                    avif_autodetection?: boolean | null;
                    created_at?: string | null;
                    file_size_limit?: number | null;
                    id?: string;
                    name?: string;
                    owner?: string | null;
                    owner_id?: string | null;
                    public?: boolean | null;
                    updated_at?: string | null;
                };
                Relationships: [];
            };
            migrations: {
                Row: {
                    executed_at: string | null;
                    hash: string;
                    id: number;
                    name: string;
                };
                Insert: {
                    executed_at?: string | null;
                    hash: string;
                    id: number;
                    name: string;
                };
                Update: {
                    executed_at?: string | null;
                    hash?: string;
                    id?: number;
                    name?: string;
                };
                Relationships: [];
            };
            objects: {
                Row: {
                    bucket_id: string | null;
                    created_at: string | null;
                    id: string;
                    last_accessed_at: string | null;
                    metadata: Json | null;
                    name: string | null;
                    owner: string | null;
                    owner_id: string | null;
                    path_tokens: string[] | null;
                    updated_at: string | null;
                    version: string | null;
                };
                Insert: {
                    bucket_id?: string | null;
                    created_at?: string | null;
                    id?: string;
                    last_accessed_at?: string | null;
                    metadata?: Json | null;
                    name?: string | null;
                    owner?: string | null;
                    owner_id?: string | null;
                    path_tokens?: string[] | null;
                    updated_at?: string | null;
                    version?: string | null;
                };
                Update: {
                    bucket_id?: string | null;
                    created_at?: string | null;
                    id?: string;
                    last_accessed_at?: string | null;
                    metadata?: Json | null;
                    name?: string | null;
                    owner?: string | null;
                    owner_id?: string | null;
                    path_tokens?: string[] | null;
                    updated_at?: string | null;
                    version?: string | null;
                };
                Relationships: [
                    {
                        foreignKeyName: "objects_bucketId_fkey";
                        columns: ["bucket_id"];
                        isOneToOne: false;
                        referencedRelation: "buckets";
                        referencedColumns: ["id"];
                    }
                ];
            };
        };
        Views: {
            [_ in never]: never;
        };
        Functions: {
            can_insert_object: {
                Args: {
                    bucketid: string;
                    name: string;
                    owner: string;
                    metadata: Json;
                };
                Returns: undefined;
            };
            extension: {
                Args: {
                    name: string;
                };
                Returns: string;
            };
            filename: {
                Args: {
                    name: string;
                };
                Returns: string;
            };
            foldername: {
                Args: {
                    name: string;
                };
                Returns: unknown;
            };
            get_size_by_bucket: {
                Args: Record<PropertyKey, never>;
                Returns: {
                    size: number;
                    bucket_id: string;
                }[];
            };
            search: {
                Args: {
                    prefix: string;
                    bucketname: string;
                    limits?: number;
                    levels?: number;
                    offsets?: number;
                    search?: string;
                    sortcolumn?: string;
                    sortorder?: string;
                };
                Returns: {
                    name: string;
                    id: string;
                    updated_at: string;
                    created_at: string;
                    last_accessed_at: string;
                    metadata: Json;
                }[];
            };
        };
        Enums: {
            [_ in never]: never;
        };
        CompositeTypes: {
            [_ in never]: never;
        };
    };
};
export type Tables<PublicTableNameOrOptions extends keyof (Database["public"]["Tables"] & Database["public"]["Views"]) | {
    schema: keyof Database;
}, TableName extends PublicTableNameOrOptions extends {
    schema: keyof Database;
} ? keyof (Database[PublicTableNameOrOptions["schema"]]["Tables"] & Database[PublicTableNameOrOptions["schema"]]["Views"]) : never = never> = PublicTableNameOrOptions extends {
    schema: keyof Database;
} ? (Database[PublicTableNameOrOptions["schema"]]["Tables"] & Database[PublicTableNameOrOptions["schema"]]["Views"])[TableName] extends {
    Row: infer R;
} ? R : never : PublicTableNameOrOptions extends keyof (Database["public"]["Tables"] & Database["public"]["Views"]) ? (Database["public"]["Tables"] & Database["public"]["Views"])[PublicTableNameOrOptions] extends {
    Row: infer R;
} ? R : never : never;
export type TablesInsert<PublicTableNameOrOptions extends keyof Database["public"]["Tables"] | {
    schema: keyof Database;
}, TableName extends PublicTableNameOrOptions extends {
    schema: keyof Database;
} ? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"] : never = never> = PublicTableNameOrOptions extends {
    schema: keyof Database;
} ? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends {
    Insert: infer I;
} ? I : never : PublicTableNameOrOptions extends keyof Database["public"]["Tables"] ? Database["public"]["Tables"][PublicTableNameOrOptions] extends {
    Insert: infer I;
} ? I : never : never;
export type TablesUpdate<PublicTableNameOrOptions extends keyof Database["public"]["Tables"] | {
    schema: keyof Database;
}, TableName extends PublicTableNameOrOptions extends {
    schema: keyof Database;
} ? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"] : never = never> = PublicTableNameOrOptions extends {
    schema: keyof Database;
} ? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends {
    Update: infer U;
} ? U : never : PublicTableNameOrOptions extends keyof Database["public"]["Tables"] ? Database["public"]["Tables"][PublicTableNameOrOptions] extends {
    Update: infer U;
} ? U : never : never;
export type Enums<PublicEnumNameOrOptions extends keyof Database["public"]["Enums"] | {
    schema: keyof Database;
}, EnumName extends PublicEnumNameOrOptions extends {
    schema: keyof Database;
} ? keyof Database[PublicEnumNameOrOptions["schema"]]["Enums"] : never = never> = PublicEnumNameOrOptions extends {
    schema: keyof Database;
} ? Database[PublicEnumNameOrOptions["schema"]]["Enums"][EnumName] : PublicEnumNameOrOptions extends keyof Database["public"]["Enums"] ? Database["public"]["Enums"][PublicEnumNameOrOptions] : never;
//# sourceMappingURL=generated-types.d.ts.map