/**
 * Checkpoint Strategy Implementation
 *
 * Decides whether to store full snapshots or references based on result size
 * and structure. References require using __restore.checkpoint() to access data.
 */
import type { CheckpointStrategy, CheckpointReference, OperationMetadata, CheckpointConfig, CheckpointProvenanceSnapshot } from './checkpoint-types';
/**
 * Default strategy for checkpoint storage decisions
 */
export declare class DefaultCheckpointStrategy implements CheckpointStrategy {
    private config;
    constructor(config?: CheckpointConfig);
    /**
     * Determines whether to store the result as a full snapshot or a reference.
     * Full snapshots are used for small, serializable results (data included in error response).
     * References are used for large results (must use __restore.checkpoint() to access).
     */
    shouldUseFullSnapshot(result: unknown, provenance?: CheckpointProvenanceSnapshot): boolean;
    /**
     * Check if provenance indicates restricted access
     * Delegates to the provenance package's hasRestrictedProvenance utility
     */
    hasRestrictedProvenance(provenance?: CheckpointProvenanceSnapshot): boolean;
    /**
     * Creates a reference object for a checkpoint.
     * No preview data is included - user must use __restore.checkpoint() to access the data.
     */
    createReference(result: unknown, metadata: OperationMetadata): CheckpointReference;
    /**
     * Generates a simple description of the result type and size.
     */
    generateDescription(result: unknown, metadata: OperationMetadata): string;
    /**
     * Formats operation metadata as a dot-notation string (e.g., "api.github.getUser").
     */
    private formatOperationName;
}
//# sourceMappingURL=checkpoint-strategy.d.ts.map