import type { LengthArg } from "./flags.js";
import type { OutputLanguage } from "./language.js";
export declare function hashString(value: string): string;
export declare function hashBytes(value: Uint8Array): string;
export declare function hashJson(value: unknown): string;
export declare function normalizeContentForHash(content: string): string;
export declare function extractTaggedBlock(prompt: string, tag: "instructions" | "content" | "context"): string | null;
export declare function buildPromptHash(prompt: string): string;
export declare function buildPromptContentHash({ prompt, fallbackContent, }: {
    prompt: string;
    fallbackContent?: string | null;
}): string | null;
export declare function buildAttachmentContentHash({ attachments, }: {
    attachments: Array<{
        kind: string;
        mediaType: string;
        bytes: Uint8Array;
    }>;
}): string | null;
export declare function buildLengthKey(lengthArg: LengthArg): string;
export declare function buildLanguageKey(outputLanguage: OutputLanguage): string;
export declare function buildExtractCacheKeyValue({ url, options, formatVersion, }: {
    url: string;
    options: Record<string, unknown>;
    formatVersion: number;
}): string;
export declare function buildSummaryCacheKeyValue({ contentHash, promptHash, model, lengthKey, languageKey, formatVersion, }: {
    contentHash: string;
    promptHash: string;
    model: string;
    lengthKey: string;
    languageKey: string;
    formatVersion: number;
}): string;
export declare function buildSlidesCacheKeyValue({ url, settings, formatVersion, }: {
    url: string;
    settings: {
        ocr: boolean;
        outputDir: string;
        sceneThreshold: number;
        autoTuneThreshold: boolean;
        maxSlides: number;
        minDurationSeconds: number;
    };
    formatVersion: number;
}): string;
export declare function buildTranscriptCacheKeyValue({ url, namespace, formatVersion, fileMtime, }: {
    url: string;
    namespace: string | null;
    formatVersion: number;
    fileMtime?: number | null;
}): string;
