import type { PostgresJsDatabase } from "drizzle-orm/postgres-js"; import type { z } from "zod"; import type { activityListQuerySchema, insertActivityLinkSchema, insertActivityParticipantSchema, insertActivitySchema, updateActivitySchema } from "../validation.js"; type ActivityListQuery = z.infer; type CreateActivityInput = z.infer; type UpdateActivityInput = z.infer; type CreateActivityLinkInput = z.infer; type CreateActivityParticipantInput = z.infer; export declare const activitiesService: { listActivities(db: PostgresJsDatabase, query: ActivityListQuery): Promise>; getActivityById(db: PostgresJsDatabase, id: string): Promise<{ id: string; subject: string; type: "email" | "meeting" | "call" | "task" | "follow_up" | "note"; ownerId: string | null; status: "planned" | "done" | "cancelled"; dueAt: Date | null; completedAt: Date | null; location: string | null; description: string | null; customFields: import("@voyant-travel/core/custom-fields").NamespacedCustomFieldValues; createdAt: Date; updatedAt: Date; } | null>; createActivity(db: PostgresJsDatabase, data: CreateActivityInput): Promise<{ id: string; status: "planned" | "done" | "cancelled"; createdAt: Date; ownerId: string | null; customFields: import("@voyant-travel/core/custom-fields").NamespacedCustomFieldValues; updatedAt: Date; type: "email" | "meeting" | "call" | "task" | "follow_up" | "note"; subject: string; description: string | null; dueAt: Date | null; completedAt: Date | null; location: string | null; } | undefined>; updateActivity(db: PostgresJsDatabase, id: string, data: UpdateActivityInput): Promise<{ id: string; subject: string; type: "email" | "meeting" | "call" | "task" | "follow_up" | "note"; ownerId: string | null; status: "planned" | "done" | "cancelled"; dueAt: Date | null; completedAt: Date | null; location: string | null; description: string | null; customFields: import("@voyant-travel/core/custom-fields").NamespacedCustomFieldValues; createdAt: Date; updatedAt: Date; } | null>; deleteActivity(db: PostgresJsDatabase, id: string): Promise<{ id: string; } | null>; listActivityLinks(db: PostgresJsDatabase, activityId: string): Omit; activityId: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "activity_links"; 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; }, {}, {}>; entityType: import("drizzle-orm/pg-core").PgColumn<{ name: "entity_type"; tableName: "activity_links"; dataType: "string"; columnType: "PgEnumColumn"; data: "person" | "organization" | "proposal" | "activity"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["organization", "person", "proposal", "activity"]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; entityId: import("drizzle-orm/pg-core").PgColumn<{ name: "entity_id"; tableName: "activity_links"; 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; }, {}, {}>; role: import("drizzle-orm/pg-core").PgColumn<{ name: "role"; tableName: "activity_links"; dataType: "string"; columnType: "PgEnumColumn"; data: "primary" | "related"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["primary", "related"]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; createdAt: import("drizzle-orm/pg-core").PgColumn<{ name: "created_at"; tableName: "activity_links"; 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; }, {}, {}>; }, "single", Record<"activity_links", "not-null">, false, "where" | "orderBy", { id: string; activityId: string; entityType: "person" | "organization" | "proposal" | "activity"; entityId: string; role: "primary" | "related"; createdAt: Date; }[], { id: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "activity_links"; 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; }, {}, {}>; activityId: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "activity_links"; 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; }, {}, {}>; entityType: import("drizzle-orm/pg-core").PgColumn<{ name: "entity_type"; tableName: "activity_links"; dataType: "string"; columnType: "PgEnumColumn"; data: "person" | "organization" | "proposal" | "activity"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["organization", "person", "proposal", "activity"]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; entityId: import("drizzle-orm/pg-core").PgColumn<{ name: "entity_id"; tableName: "activity_links"; 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; }, {}, {}>; role: import("drizzle-orm/pg-core").PgColumn<{ name: "role"; tableName: "activity_links"; dataType: "string"; columnType: "PgEnumColumn"; data: "primary" | "related"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["primary", "related"]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; createdAt: import("drizzle-orm/pg-core").PgColumn<{ name: "created_at"; tableName: "activity_links"; 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; }, {}, {}>; }>, "where" | "orderBy">; createActivityLink(db: PostgresJsDatabase, activityId: string, data: CreateActivityLinkInput): Promise<{ id: string; createdAt: Date; activityId: string; entityType: "person" | "organization" | "proposal" | "activity"; entityId: string; role: "primary" | "related"; } | null | undefined>; deleteActivityLink(db: PostgresJsDatabase, id: string): Promise<{ id: string; } | null>; listActivityParticipants(db: PostgresJsDatabase, activityId: string): Omit; activityId: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "activity_participants"; 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; }, {}, {}>; personId: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "activity_participants"; 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; }, {}, {}>; isPrimary: import("drizzle-orm/pg-core").PgColumn<{ name: "is_primary"; tableName: "activity_participants"; 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: "activity_participants"; 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; }, {}, {}>; }, "single", Record<"activity_participants", "not-null">, false, "where" | "orderBy", { id: string; activityId: string; personId: string; isPrimary: boolean; createdAt: Date; }[], { id: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "activity_participants"; 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; }, {}, {}>; activityId: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "activity_participants"; 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; }, {}, {}>; personId: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "activity_participants"; 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; }, {}, {}>; isPrimary: import("drizzle-orm/pg-core").PgColumn<{ name: "is_primary"; tableName: "activity_participants"; 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: "activity_participants"; 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; }, {}, {}>; }>, "where" | "orderBy">; createActivityParticipant(db: PostgresJsDatabase, activityId: string, data: CreateActivityParticipantInput): Promise<{ id: string; createdAt: Date; personId: string; isPrimary: boolean; activityId: string; } | undefined>; deleteActivityParticipant(db: PostgresJsDatabase, id: string): Promise<{ id: string; } | null>; }; export {};