/** * Webhook configurations table * * Stores webhook endpoint configurations including: * - URL and event subscriptions * - Secret hash for HMAC signing (not stored in plaintext) * - Secret rotation tracking * - SSRF protection via resolved IP pinning */ export declare const webhookConfigs: import("drizzle-orm/pg-core").PgTableWithColumns<{ name: "webhook_configs"; schema: undefined; columns: { id: import("drizzle-orm/pg-core").PgColumn<{ name: "id"; tableName: "webhook_configs"; dataType: "string"; columnType: "PgUUID"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; tenantId: import("drizzle-orm/pg-core").PgColumn<{ name: "tenant_id"; tableName: "webhook_configs"; 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; }, {}, {}>; url: import("drizzle-orm/pg-core").PgColumn<{ name: "url"; tableName: "webhook_configs"; 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; }, {}, {}>; secretHash: import("drizzle-orm/pg-core").PgColumn<{ name: "secret_hash"; tableName: "webhook_configs"; 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; }, {}, {}>; secretPrefix: import("drizzle-orm/pg-core").PgColumn<{ name: "secret_prefix"; tableName: "webhook_configs"; 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; }, {}, {}>; enabled: import("drizzle-orm/pg-core").PgColumn<{ name: "enabled"; tableName: "webhook_configs"; 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; }, {}, {}>; events: import("drizzle-orm/pg-core").PgColumn<{ name: "events"; tableName: "webhook_configs"; dataType: "json"; columnType: "PgJsonb"; data: string[]; driverParam: unknown; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: string[]; }>; retryAttempts: import("drizzle-orm/pg-core").PgColumn<{ name: "retry_attempts"; tableName: "webhook_configs"; 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; }, {}, {}>; retryDelayMs: import("drizzle-orm/pg-core").PgColumn<{ name: "retry_delay_ms"; tableName: "webhook_configs"; 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; }, {}, {}>; resolvedIp: import("drizzle-orm/pg-core").PgColumn<{ name: "resolved_ip"; tableName: "webhook_configs"; 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; }, {}, {}>; lastRotatedAt: import("drizzle-orm/pg-core").PgColumn<{ name: "last_rotated_at"; tableName: "webhook_configs"; 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: "webhook_configs"; 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: "webhook_configs"; 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"; }>; /** * Webhook secret rotation history for audit purposes. * Tracks when secrets were rotated and by whom. */ export declare const webhookSecretRotations: import("drizzle-orm/pg-core").PgTableWithColumns<{ name: "webhook_secret_rotations"; schema: undefined; columns: { id: import("drizzle-orm/pg-core").PgColumn<{ name: "id"; tableName: "webhook_secret_rotations"; dataType: "string"; columnType: "PgUUID"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; webhookId: import("drizzle-orm/pg-core").PgColumn<{ name: "webhook_id"; tableName: "webhook_secret_rotations"; dataType: "string"; columnType: "PgUUID"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; tenantId: import("drizzle-orm/pg-core").PgColumn<{ name: "tenant_id"; tableName: "webhook_secret_rotations"; 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; }, {}, {}>; rotatedBy: import("drizzle-orm/pg-core").PgColumn<{ name: "rotated_by"; tableName: "webhook_secret_rotations"; 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; }, {}, {}>; previousSecretHash: import("drizzle-orm/pg-core").PgColumn<{ name: "previous_secret_hash"; tableName: "webhook_secret_rotations"; 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; }, {}, {}>; reason: import("drizzle-orm/pg-core").PgColumn<{ name: "reason"; tableName: "webhook_secret_rotations"; 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; }, {}, {}>; rotatedAt: import("drizzle-orm/pg-core").PgColumn<{ name: "rotated_at"; tableName: "webhook_secret_rotations"; 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 WebhookConfigRow = typeof webhookConfigs.$inferSelect; export type NewWebhookConfigRow = typeof webhookConfigs.$inferInsert; export type WebhookSecretRotationRow = typeof webhookSecretRotations.$inferSelect; export type NewWebhookSecretRotationRow = typeof webhookSecretRotations.$inferInsert;