/**
 * @module Cache
 */
import { type IKey } from "../../namespace/contracts/_module.js";
import { type InferInstance } from "../../utilities/_module.js";
/**
 * The error is thrown when a key is not found
 *
 * IMPORT_PATH: `"@daiso-tech/core/cache/contracts"`
 * @group Errors
 */
export declare class KeyNotFoundCacheError extends Error {
    static create(key: IKey, cause?: unknown): KeyNotFoundCacheError;
    /**
     * Note: Do not instantiate `KeyNotFoundCacheError` directly via the constructor. Use the static `create()` factory method instead.
     * The constructor remains public only to maintain compatibility with errorPolicy types and prevent type errors.
     * @internal
     */
    constructor(message: string, cause?: unknown);
}
/**
 * The error is thrown when a key already exists found
 *
 * IMPORT_PATH: `"@daiso-tech/core/cache/contracts"`
 * @group Errors
 */
export declare class KeyExistsCacheError extends Error {
    static create(key: IKey, cause?: unknown): KeyExistsCacheError;
    /**
     * Note: Do not instantiate `KeyExistsCacheError` directly via the constructor. Use the static `create()` factory method instead.
     * The constructor remains public only to maintain compatibility with errorPolicy types and prevent type errors.
     * @internal
     */
    constructor(message: string, cause?: unknown);
}
/**
 * IMPORT_PATH: `"@daiso-tech/core/cache/contracts"`
 * @group Errors
 */
export declare const CACHE_ERRORS: {
    readonly KeyExists: typeof KeyExistsCacheError;
    readonly KeyNotFound: typeof KeyNotFoundCacheError;
};
/**
 * IMPORT_PATH: `"@daiso-tech/core/cache/contracts"`
 * @group Errors
 */
export type AllCacheErrors = InferInstance<(typeof CACHE_ERRORS)[keyof typeof CACHE_ERRORS]>;
/**
 * IMPORT_PATH: `"@daiso-tech/core/cache/contracts"`
 * @group Errors
 */
export declare function isCacheError(value: unknown): value is AllCacheErrors;
