import { type ProvenanceMetadata, type ProvenanceMode } from '@mondaydotcomorg/atp-provenance';
import type { CacheProvider } from '@mondaydotcomorg/atp-protocol';
import type { log } from '@mondaydotcomorg/atp-runtime';
type Logger = ReturnType<typeof log.child>;
interface TokenEmission {
    path: string;
    token: string;
}
/**
 * Emits provenance tokens for all values in the result that have provenance in the snapshot.
 * This works by:
 * 1. Traversing the actual serialized result object
 * 2. For each value, checking if it matches provenance in the snapshot
 * 3. Emitting tokens with the ACTUAL value for correct digest matching
 */
export declare function emitProvenanceTokens(result: unknown, clientId: string, executionId: string, provenanceMode: ProvenanceMode, cacheProvider: CacheProvider, logger: Logger, maxTokens?: number, tokenTTL?: number, provenanceSnapshot?: {
    registry: Array<[string, ProvenanceMetadata]>;
    primitives: Array<[string, ProvenanceMetadata]>;
}): Promise<TokenEmission[]>;
export {};
//# sourceMappingURL=token-emitter.d.ts.map