import { SdkError } from '../../errors';
import { BaseResponseError, BaseResponseMiss, ResponseBase } from './response-base';
import { CacheSetContainsElementResponse } from './enums';
interface IResponse {
    /**
     * Returns a boolean indicating whether the element was found in the cache.
     * @returns {boolean | undefined} A boolean indicating whether the element was found in the cache.
     * If the set itself was not found, (ie the response was a `Miss` or `Error`), this method returns `undefined`.
     */
    containsElement(): boolean | undefined;
    readonly type: CacheSetContainsElementResponse;
}
/**
 * Indicates that the requested set was in the cache.
 * Provides a `containsElement` accessor that returns a boolean indicating whether the element was found.
 */
export declare class Hit extends ResponseBase implements IResponse {
    private readonly _containsElement;
    readonly type: CacheSetContainsElementResponse.Hit;
    constructor(found: boolean);
    /**
     * Returns a boolean indicating whether the element was found in the cache.
     * @returns {boolean}
     */
    containsElement(): boolean;
    toString(): string;
}
/**
 * Indicates that the requested set was not available in the cache.
 */
export declare class Miss extends BaseResponseMiss implements IResponse {
    readonly type: CacheSetContainsElementResponse.Miss;
    constructor();
    containsElement(): undefined;
}
/**
 * Indicates that an error occurred during the set contains element request.
 *
 * This response object includes the following fields that you can use to determine
 * how you would like to handle the error:
 *
 * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
 * - `message()` - a human-readable description of the error
 * - `innerException()` - the original error that caused the failure; can be re-thrown.
 */
export declare class Error extends BaseResponseError implements IResponse {
    readonly type: CacheSetContainsElementResponse.Error;
    constructor(_innerException: SdkError);
    containsElement(): undefined;
}
export type Response = Hit | Miss | Error;
export {};
