import { SmrtClassOptions } from '@happyvertical/smrt-core'; import { ProjectIntegrationCollection } from '../collections/ProjectIntegrations.js'; import { ProjectCollection } from '../collections/Projects.js'; import { ProjectIntegration } from '../models/ProjectIntegration.js'; import { ProjectBoardMoveIntent } from '../project-board-types.js'; export type { ProjectBoardMoveIntent } from '../project-board-types.js'; /** Pure data returned after a provider-backed project board move. */ export interface ProjectBoardMoveResult { projectId: string; itemId: string; previousStatus: string | null; status: string; } /** * Capability-checked server boundary for project-board mutations. * * This service intentionally exposes neither provider credentials nor the * provider client. It reloads the supplied server-derived integration before * every mutation, verifies its project binding and capability, validates the * requested item and status against the authoritative Project, then delegates * persistence to Project.updateItemStatus(). */ export declare class ProjectBoardService { private readonly integrations; private readonly projects; constructor(integrations: ProjectIntegrationCollection, projects: ProjectCollection); static create(options?: SmrtClassOptions): Promise; moveItem(integration: ProjectIntegration, input: ProjectBoardMoveIntent): Promise; private requireAuthorizedIntegration; private findProject; } //# sourceMappingURL=project-board-service.d.ts.map