import type { Client } from "@libsql/client"; import { type FederationGhClient } from "../../util/gh-federation.js"; import { type GitRunOptions, type GitRunResult } from "../../util/git-run.js"; import { type IdentityRunner } from "../../util/identity.js"; import { type PublicationPermissionObserver } from "./publication-permission.js"; export type ConnectStatus = "not-needed" | "no-pod" | "gh-unauthed" | "invalid-real-handle" | "identity-mismatch" | "guard-noncanonical-origin" | "guard-missing-origin-existing-remote" | "guard-existing-remote" | "pod-create-deferred" | "origin-wire-blocked" | "reconciled"; export interface ConnectPodResult { status: ConnectStatus; provisionalHandle?: string; realHandle?: string; podRepoCreated: boolean; existingRemote?: string; adoptRemoteChosen?: boolean; message: string; warnings: string[]; } export type ConnectGitRunner = (args: readonly string[], opts: GitRunOptions) => Promise; export interface ConnectPodArgs { ghClient?: FederationGhClient | undefined; identityRunner?: IdentityRunner | undefined; runGit?: ConnectGitRunner | undefined; registryDb?: Client | undefined; nowIso?: string | undefined; permissionObserver?: PublicationPermissionObserver | undefined; permissionAttemptId?: string | undefined; confirmAdoptExistingRemote?: ((info: { existingRemote: string; localHandle: string; }) => Promise) | undefined; } export declare function connectPodFlow(args?: ConnectPodArgs): Promise; export interface PodNeedsConnectOptions { ghClient?: FederationGhClient | undefined; runGit?: ConnectGitRunner | undefined; } export declare function podNeedsConnect(registryDb?: Client, options?: PodNeedsConnectOptions): Promise; //# sourceMappingURL=connect.d.ts.map