import type { Client } from "@libsql/client"; import type { AccessProvider } from "../../access/access-provider.js"; import type { GhExecutor } from "../../util/gh-discover.js"; import { type FederationGhClient } from "../../util/gh-federation.js"; import { type GitRunner } from "./vault-publish.js"; import { type PublicationPermissionObserver } from "./publication-permission.js"; export type VaultPublishStatus = "published" | "pulled-then-published" | "verification-pending" | "conflict" | "failed" | "skipped"; export interface VaultPublishOutcome { vaultName: string; repoName: string; status: VaultPublishStatus; repoCreated: boolean; pushed: boolean; message: string; terminal?: boolean; } export interface ReconcilePublishArgs { handle?: string | undefined; push?: boolean | undefined; createRemoteIfMissing?: boolean | undefined; pull?: boolean | undefined; ghClient?: FederationGhClient | undefined; runGit?: GitRunner | undefined; registryDb?: Client | undefined; outboxPath?: string | undefined; nowIso?: string | undefined; writabilityGh?: GhExecutor | undefined; accessProvider?: AccessProvider | undefined; permissionObserver?: PublicationPermissionObserver | undefined; } export interface ReconcilePublishResult { skipped: boolean; reason?: string; handle?: string; vaultOutcomes: VaultPublishOutcome[]; podCommitted: boolean; podPushed: boolean; outboxRemaining: number; warnings: string[]; ok: boolean; } export declare function reconcilePublishFlow(args?: ReconcilePublishArgs): Promise; //# sourceMappingURL=reconcile-publish.d.ts.map