import { BucketFacadeCompilation } from './materialized-pipeline.js';
export type FacadePublication = {
    publish: () => void;
    rollback: () => void;
};
/**
 * The only stateful boundary outside the materialization graph. It turns inert
 * bucket references into stable public Collection facades and applies the
 * graph's canonical bucket-row deltas to those facades.
 */
export declare class BucketFacadeAdapter {
    private readonly parentId;
    private readonly compilations;
    private readonly pending;
    private readonly pendingActivity;
    private readonly activeBuckets;
    private readonly entries;
    private readonly retiredEntries;
    private resolvedValues;
    constructor(parentId: string, compilations: Array<BucketFacadeCompilation>, onMessages: (count: number) => void);
    hasPendingChanges(): boolean;
    flush(): FacadePublication;
    resolve<T>(value: T): T;
    cleanup(): void;
    private accumulate;
    private snapshot;
    private restore;
    private accumulateActivity;
    private getActiveBuckets;
    private retireEntry;
    private getEntry;
    private applyChange;
    /** Resolve and validate every public key before opening a sync transaction. */
    private prepareChange;
    private resolveValue;
    private cleanupRetiredEntries;
}
