import type { Client } from "@libsql/client"; import { type FederationGhClient, type FederationRepoVisibility } from "../../util/gh-federation.js"; import { type PublicationPermissionObserver } from "./publication-permission.js"; export type FederationInitBranch = "fresh" | "adopted" | "cached"; export interface FederationInitOptions { handle?: string | undefined; visibility?: FederationRepoVisibility | undefined; pushToRemote?: boolean | undefined; createRemoteIfMissing?: boolean | undefined; localOnly?: boolean | undefined; description?: string | undefined; ghClient?: FederationGhClient | undefined; identityProvider?: (() => string) | undefined; now?: (() => Date) | undefined; permissionObserver?: PublicationPermissionObserver | undefined; permissionAttemptId?: string | undefined; plannedFedRidBytes?: Uint8Array | undefined; checkpointMode?: "automatic" | "deferred" | undefined; db?: Client | undefined; } export interface FederationInitResult { handle: string; fedRidHex: string; branch: FederationInitBranch; visibility: FederationRepoVisibility; localPath: string; federationYonPath: string; remoteFullName: string; remoteCreated: boolean; pushed: boolean; statusVoice: string; } export declare function federationInitFlow(opts?: FederationInitOptions): Promise; //# sourceMappingURL=init.d.ts.map