import Sink from '../../domain/stream/Sink.ts';
interface TreePort {
    writeTree(entries: string[]): Promise<string>;
}
/**
 * Stream sink that accumulates [path, oid] entries and assembles them
 * into a Git tree on finalization.
 *
 * Consumes: `[string, string]` — path + blob OID
 * Produces: `string` — the Git tree OID
 */
export declare class TreeAssemblerSink extends Sink<[string, string], string> {
    private readonly _treePort;
    private readonly _entries;
    constructor(treePort: TreePort);
    /**
     * Accepts a [path, oid] entry and formats it for mktree.
     */
    protected _accept(item: [string, string]): void;
    /**
     * Builds the Git tree from accumulated entries.
     */
    protected _finalize(): Promise<string>;
}
export {};
