import type { Client } from "@libsql/client"; import type { MeshGhClient } from "../util/gh-mesh.js"; import type { GhExecutor } from "../util/gh-discover.js"; import { type ActiveActorObservation } from "../op/active-actor-observation.js"; import { type PublicationPermissionObserver } from "./federation/publication-permission.js"; import type { MeshPushKind } from "../yon/mesh-write.js"; import { type Cluster } from "./discover.js"; export interface AdoptClusterCloneArgs { vaultName: string; cloneUrl: string; toMeshName: string; registryDb: Client; } export interface AdoptClusterCloneResult { vaultRidHex: string; vaultName: string; } export type AdoptCloneFn = (args: AdoptClusterCloneArgs) => Promise; export type AdoptActorObserver = (args: { attemptId: string; }) => Promise; export interface MeshAdoptCreationEvidence { actor: ActiveActorObservation; permission: Awaited> | null; } export declare function observeMeshAdoptCreationEvidence(args: { attemptId: string; target: string; repository: string; actorObserver: AdoptActorObserver; permissionObserver: PublicationPermissionObserver; }): Promise; export interface AdoptClusterArgs { clusterName: string; owner?: string | undefined; cluster?: Cluster | undefined; registryDb?: Client | undefined; ghExecutor?: GhExecutor | undefined; actorObserver?: AdoptActorObserver | undefined; permissionObserver?: PublicationPermissionObserver | undefined; operationId?: string | undefined; meshGhClient?: MeshGhClient | undefined; cloneFn?: AdoptCloneFn | undefined; pushKind?: MeshPushKind | undefined; noPush?: boolean | undefined; } export interface AdoptedMemberSummary { vaultName: string; vaultRidHex: string; } export interface AdoptSkippedMember { name: string; reason: string; } export interface AdoptClusterResult { clusterName: string; owner: string; mainVault: { name: string; ridHex: string; path: string; }; membersAdopted: AdoptedMemberSummary[]; membersRefused: AdoptSkippedMember[]; membersFailed: AdoptSkippedMember[]; pushed: boolean; durationMs: number; } export declare class AdoptClusterNotFoundError extends Error { readonly errorCode = "adopt-cluster-not-found"; readonly clusterName: string; constructor(clusterName: string); } export declare class ClusterAlreadyRegisteredError extends Error { readonly errorCode = "cluster-already-registered"; readonly clusterName: string; readonly missingMembers: string[]; constructor(clusterName: string, missingMembers?: string[]); } export declare class PushPermissionDeniedError extends Error { readonly errorCode = "push-permission-denied"; readonly owner: string; readonly clusterName: string; constructor(owner: string, clusterName: string); } export declare const defaultAdoptCloneFn: AdoptCloneFn; export declare function meshAdoptClusterFlow(args: AdoptClusterArgs): Promise; //# sourceMappingURL=mesh-adopt-cluster.d.ts.map