import type { IncomingMessage } from "node:http";
import { z } from "zod";
import { ImmediatePulls } from "../sync/pull-now.js";
declare const identitySchema: z.ZodObject<{
    storeId: z.ZodString;
    repository: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
    branch: z.ZodString;
}, z.core.$strict>;
export type StorePullIdentity = z.infer<typeof identitySchema>;
export declare class StorePulls {
    private readonly primary;
    private readonly pulls;
    constructor(primary: string, pulls?: ImmediatePulls);
    private localStores;
    /** A receiver's trusted local config may name an attachment ID; return the store's portable ID. */
    request(storeId: string): string | undefined;
    route(request: Pick<IncomingMessage, "headers">, data: Record<string, unknown>): Promise<{
        ok: true;
    }>;
    stop(): void;
}
export {};
