import type { ResizeRule } from "@paroicms/public-anywhere-lib";
import type { ImageVariant, ImageVariantWithBinary, UsedRawSize } from "../engine-types.js";
import type { VariantEngineContext } from "./engine-context.js";
import type { ResizeOwner, StoredCacheItem } from "./internal.types.js";
export declare function insertIntoImageVariant(ctx: Pick<VariantEngineContext, "cn">, data: {
    resourceVersion: string;
    mediaId: string;
    mediaType: string;
    rawWidth: number;
    rawHeight: number;
    weightB: number;
    binaryFile: Buffer;
    slug?: string;
}, owners: ResizeOwner[]): Promise<{
    imageCacheId: string;
    lastModified: string;
}>;
export declare function insertIntoPaImageCacheOwner(ctx: Pick<VariantEngineContext, "cn">, input: {
    imageCacheId: string;
    owners: ResizeOwner[];
}): Promise<void>;
export declare function fetchImageVariant(ctx: Pick<VariantEngineContext, "cn" | "logger">, input: {
    mediaId: string;
    mediaType: string;
    rawWidth: number;
    rawHeight: number;
}): Promise<{
    id: string;
    variant: ImageVariant;
} | undefined>;
export declare function fetchImageVariantWithBinary(ctx: Pick<VariantEngineContext, "cn" | "logger">, input: {
    mediaId: string;
    mediaType: string;
    rawWidth: number;
    rawHeight: number;
}): Promise<{
    variant: ImageVariantWithBinary;
    id: string;
} | undefined>;
export declare function fetchImageVariantWithBinaryByOwner(ctx: Pick<VariantEngineContext, "cn" | "logger">, input: {
    mediaId: string;
    mediaType: string;
    ownerHandle: string;
    rawResizeR: ResizeRule;
}): Promise<{
    variant: ImageVariantWithBinary;
    id: string;
} | undefined>;
export declare function deleteVariants(ctx: VariantEngineContext, options: {
    mediaId: string;
} | {
    mediaIds: string[];
}): Promise<void>;
/**
 * @returns the list of cache ownerHandles that were deleted
 */
export declare function deleteVariantsByDependencies(ctx: VariantEngineContext, options: {
    ownerHandles: string[];
}): Promise<void>;
/**
 * Delete the images that have no ownerHandle and that have not been used recently.
 * @returns the number of cache identifiers that were deleted
 */
export declare function deleteOrphanVariants(ctx: VariantEngineContext): Promise<number | undefined>;
export declare function associateOwnerToImages(ctx: Pick<VariantEngineContext, "cn" | "logger">, { ownerHandle, cacheImages, isHandleReusable, }: {
    ownerHandle: string;
    cacheImages: {
        imageCacheId: string;
        rawResizeR: ResizeRule;
    }[];
    isHandleReusable: boolean;
}): Promise<void>;
export declare function fetchStoredCacheItems(ctx: Pick<VariantEngineContext, "cn" | "logger" | "logNextQuery">, ownerHandle: string): Promise<StoredCacheItem[]>;
export declare function fetchBatchOfStoredCacheItems(ctx: Pick<VariantEngineContext, "cn" | "logger" | "logNextQuery">, groups: {
    requestedVariants: {
        mediaType: string;
        rawWidth: number;
        rawHeight: number;
    }[];
    mediaIds: string[];
}[], alreadyOwnedBy: string): Promise<StoredCacheItem[]>;
export declare function clearAll({ cn }: VariantEngineContext): Promise<void>;
export declare function fetchUsedRawSizesByMedia(ctx: Pick<VariantEngineContext, "cn" | "logger">, mediaId: string): Promise<UsedRawSize[]>;
