export type HttpResponse<T> = {
    statusCode: number;
    body: T;
};
export type BootstrapRelease = "current" | "latest";
export type ChangesProgress = {
    phase: "changes";
    startSince: number;
    currentSince: number;
    targetSince: number;
    processedChanges: number;
};
export type AllDocsProgress = {
    phase: "all_docs";
    processedRows: number;
    syncedNames: number;
    totalRows?: number;
};
export type SyncProgress = ChangesProgress | AllDocsProgress;
type ProgressOptions<T extends SyncProgress> = {
    onProgress?: (progress: T) => void;
};
export declare function fetchReplicationHead(): Promise<number>;
/**
 * Accumulates replication changes from the provided sequence onward.
 */
export declare function fetchChangesSince(since: number, options?: ProgressOptions<ChangesProgress>): Promise<{
    since: number;
    created: Set<string>;
    deleted: Set<string>;
    processedChanges: number;
}>;
/**
 * Bootstraps the full package-name set from the replication `_all_docs` endpoint.
 *
 * Relevant discussion of supported replication queries:
 * https://github.com/orgs/community/discussions/152515
 */
export declare function seedNamesFromAllDocs(options?: ProgressOptions<AllDocsProgress>): Promise<{
    names: Set<string>;
    since: number;
}>;
/**
 * Seeds the local dataset from the current package version's GitHub release assets,
 * falling back to `_all_docs` if those assets are unavailable or invalid.
 */
export declare function seedNamesFromReleaseAssets(options?: ProgressOptions<AllDocsProgress>): Promise<{
    names: Set<string>;
    since: number;
}>;
/**
 * Downloads and validates a published GitHub release package.
 */
export declare function fetchReleasePackage(release: BootstrapRelease): Promise<{
    version: string;
    names: Set<string>;
    since: number;
}>;
export {};
//# sourceMappingURL=registry.d.ts.map