export declare const STOREFRONT_CUSTOMER_AUTH_SOCIAL_PROVIDERS: readonly ["google", "facebook", "apple"]; export type StorefrontCustomerAuthSocialProvider = (typeof STOREFRONT_CUSTOMER_AUTH_SOCIAL_PROVIDERS)[number]; /** * `cloud_site` storefronts are hosted on a first-party site whose origin is * known from the linked site/domain. `external` storefronts are hosted anywhere * else — third-party clouds, static hosts, or a developer's localhost — and * declare their own allowed origins. */ export declare const STOREFRONT_HOSTING_KINDS: readonly ["cloud_site", "external"]; export type StorefrontHostingKind = (typeof STOREFRONT_HOSTING_KINDS)[number]; /** * `publishable` keys are safe to embed in a browser bundle or a native app and * authorize public read + customer-auth initiation from a declared origin. * `secret` keys are server-only (SSR/BFF) and carry full storefront trust. */ export declare const STOREFRONT_API_KEY_KINDS: readonly ["publishable", "secret"]; export type StorefrontApiKeyKind = (typeof STOREFRONT_API_KEY_KINDS)[number]; /** * Operator-declared toggles for which customer-auth methods a storefront * offers. Distinct from the runtime `CustomerAuthMethods` (which carries the * resolved Better Auth social-provider secrets); this is the persisted, * secret-free declaration. */ export type StorefrontCustomerAuthMethods = { emailCode: boolean; emailPassword: boolean; google: boolean; facebook: boolean; apple: boolean; }; /** Buyer-account capability policy, mirroring `CustomerBuyerAccountPolicy`. */ export type StorefrontCustomerAccountPolicy = { allowedKinds: ("personal" | "business")[]; personalSignup: "open" | "disabled"; businessOnboarding: "disabled" | "open" | "request" | "invite-only"; }; export declare const storefronts: import("drizzle-orm/pg-core").PgTableWithColumns<{ name: "storefronts"; schema: undefined; columns: { id: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "storefronts"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: true; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; organizationId: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "storefronts"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; name: import("drizzle-orm/pg-core").PgColumn<{ name: "name"; tableName: "storefronts"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; slug: import("drizzle-orm/pg-core").PgColumn<{ name: "slug"; tableName: "storefronts"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; hostingKind: import("drizzle-orm/pg-core").PgColumn<{ name: "hosting_kind"; tableName: "storefronts"; dataType: "string"; columnType: "PgText"; data: "external" | "cloud_site"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: "external" | "cloud_site"; }>; siteId: import("drizzle-orm/pg-core").PgColumn<{ name: "site_id"; tableName: "storefronts"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; allowedOrigins: import("drizzle-orm/pg-core").PgColumn<{ name: "allowed_origins"; tableName: "storefronts"; dataType: "json"; columnType: "PgJsonb"; data: string[]; driverParam: unknown; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: string[]; }>; methods: import("drizzle-orm/pg-core").PgColumn<{ name: "methods"; tableName: "storefronts"; dataType: "json"; columnType: "PgJsonb"; data: StorefrontCustomerAuthMethods; driverParam: unknown; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: StorefrontCustomerAuthMethods; }>; accountPolicy: import("drizzle-orm/pg-core").PgColumn<{ name: "account_policy"; tableName: "storefronts"; dataType: "json"; columnType: "PgJsonb"; data: StorefrontCustomerAccountPolicy; driverParam: unknown; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: StorefrontCustomerAccountPolicy; }>; hostOnlyCookies: import("drizzle-orm/pg-core").PgColumn<{ name: "host_only_cookies"; tableName: "storefronts"; dataType: "boolean"; columnType: "PgBoolean"; data: boolean; driverParam: boolean; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; createdAt: import("drizzle-orm/pg-core").PgColumn<{ name: "created_at"; tableName: "storefronts"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; updatedAt: import("drizzle-orm/pg-core").PgColumn<{ name: "updated_at"; tableName: "storefronts"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; }; dialect: "pg"; }>; /** * Operator-issued storefront access keys. Only the SHA-256 hash is stored; the * plaintext is shown once at issuance. `tokenPreview` is a non-secret display * prefix (e.g. "vpk_ab12") so the admin can list keys without revealing them. */ export declare const storefrontApiKeys: import("drizzle-orm/pg-core").PgTableWithColumns<{ name: "storefront_api_keys"; schema: undefined; columns: { id: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "storefront_api_keys"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: true; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; storefrontId: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "storefront_api_keys"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; organizationId: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "storefront_api_keys"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; kind: import("drizzle-orm/pg-core").PgColumn<{ name: "kind"; tableName: "storefront_api_keys"; dataType: "string"; columnType: "PgText"; data: "publishable" | "secret"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: "publishable" | "secret"; }>; tokenHash: import("drizzle-orm/pg-core").PgColumn<{ name: "token_hash"; tableName: "storefront_api_keys"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; tokenPreview: import("drizzle-orm/pg-core").PgColumn<{ name: "token_preview"; tableName: "storefront_api_keys"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; name: import("drizzle-orm/pg-core").PgColumn<{ name: "name"; tableName: "storefront_api_keys"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; lastUsedAt: import("drizzle-orm/pg-core").PgColumn<{ name: "last_used_at"; tableName: "storefront_api_keys"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; revokedAt: import("drizzle-orm/pg-core").PgColumn<{ name: "revoked_at"; tableName: "storefront_api_keys"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; createdAt: import("drizzle-orm/pg-core").PgColumn<{ name: "created_at"; tableName: "storefront_api_keys"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; updatedAt: import("drizzle-orm/pg-core").PgColumn<{ name: "updated_at"; tableName: "storefront_api_keys"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; }; dialect: "pg"; }>; /** * KMS-encrypted OAuth credential bundle for one storefront + provider. The * plaintext credentials are never persisted; `encryptedCredentials` holds the * opaque `{ enc }` envelope the framework uses for every toxic secret. */ export declare const storefrontCustomerAuthCredentials: import("drizzle-orm/pg-core").PgTableWithColumns<{ name: "storefront_customer_auth_credentials"; schema: undefined; columns: { id: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "storefront_customer_auth_credentials"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: true; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; storefrontId: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "storefront_customer_auth_credentials"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; organizationId: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "storefront_customer_auth_credentials"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; provider: import("drizzle-orm/pg-core").PgColumn<{ name: "provider"; tableName: "storefront_customer_auth_credentials"; dataType: "string"; columnType: "PgText"; data: "google" | "facebook" | "apple"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: "google" | "facebook" | "apple"; }>; encryptedCredentials: import("drizzle-orm/pg-core").PgColumn<{ name: "encrypted_credentials"; tableName: "storefront_customer_auth_credentials"; dataType: "json"; columnType: "PgJsonb"; data: { enc: string; } | null; driverParam: unknown; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: { enc: string; } | null; }>; createdAt: import("drizzle-orm/pg-core").PgColumn<{ name: "created_at"; tableName: "storefront_customer_auth_credentials"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; updatedAt: import("drizzle-orm/pg-core").PgColumn<{ name: "updated_at"; tableName: "storefront_customer_auth_credentials"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; }; dialect: "pg"; }>; export type SelectStorefront = typeof storefronts.$inferSelect; export type InsertStorefront = typeof storefronts.$inferInsert; export type SelectStorefrontApiKey = typeof storefrontApiKeys.$inferSelect; export type InsertStorefrontApiKey = typeof storefrontApiKeys.$inferInsert; export type SelectStorefrontCustomerAuthCredential = typeof storefrontCustomerAuthCredentials.$inferSelect; export type InsertStorefrontCustomerAuthCredential = typeof storefrontCustomerAuthCredentials.$inferInsert;