import { EditableArtifactDurableExportService, EditableArtifactAgentApplication, type EditableArtifactAuthorizationDecision, type EditableArtifactAuthorizationPort, type EditableArtifactAuthorizationRequest } from "@opengeni/core/editable-artifacts"; import { type EditableArtifactApplicationPort } from "@opengeni/core/editable-artifact-live"; import { type Database } from "@opengeni/db"; import type { EventBus } from "@opengeni/events"; import { type ObjectStorage } from "@opengeni/storage"; import { EditableArtifactOfficeImportAdapter } from "./editable-artifact-office-import.js"; export type StandaloneEditableArtifactApplication = Readonly<{ application: EditableArtifactApplicationPort; durableExports: EditableArtifactDurableExportService; agent: EditableArtifactAgentApplication; officeImports: EditableArtifactOfficeImportAdapter; kernelVersion: string; close(): void; }>; /** * Standalone production composition. Every authority is durable: PostgreSQL * owns admission/authorization/history, object storage owns immutable model * bytes, and NATS carries wake-up hints only. */ export declare function createStandaloneEditableArtifactApplication(input: { db: Database; bus: EventBus; objectStorage: ObjectStorage; }): Promise; export declare class PostgresEditableArtifactAuthorization implements EditableArtifactAuthorizationPort { private readonly db; constructor(db: Database); authorize(request: EditableArtifactAuthorizationRequest): Promise; }