import { SdkError } from '../../errors';
import { BaseResponseError, BaseResponseSuccess } from './response-base';
import { CacheGetBatchResponse } from './enums';
import { CacheGet } from '../..';
interface IResponse {
    values(): Record<string, string> | undefined;
    readonly type: CacheGetBatchResponse;
}
/**
 * Indicates that the requested data was successfully retrieved from the cache.
 * Provides `value*` accessors to retrieve the data in the appropriate format.
 */
export declare class Success extends BaseResponseSuccess implements IResponse {
    readonly type: CacheGetBatchResponse.Success;
    private readonly body;
    private readonly keys;
    constructor(body: CacheGet.Response[], keys: Uint8Array[]);
    /**
     * Returns the status for each request in the batch as a list of CacheGet.Response objects.
     * @returns {CacheGet.Response[]}
     */
    results(): CacheGet.Response[];
    /**
     * Returns the data as a Record whose keys and values are utf-8 strings, decoded from the underlying byte arrays.
     * This can be used in most places where an Object is desired.  This is a convenience alias for
     * {valueRecordStringString}.
     * @returns {Record<string, string>}
     */
    values(): Record<string, string>;
    /**
     * Returns the data as a Record whose keys and values are utf-8 strings, decoded from the underlying byte arrays.
     * This can be used in most places where an Object is desired.  This is a convenience alias for
     * {valueRecordStringString}.
     * @returns {Record<string, string>}
     */
    valuesRecord(): Record<string, string>;
    /**
     * Returns the data as a Record whose keys and values are utf-8 strings, decoded from the underlying byte arrays.
     * This can be used in most places where an Object is desired.
     * @returns {Record<string, string>}
     */
    valuesRecordStringString(): Record<string, string>;
    /**
     * Returns the data as a Record whose keys are utf-8 strings, decoded from the underlying byte array, and whose
     * values are byte arrays.  This can be used in most places where an Object is desired.
     * @returns {Record<string, Uint8Array>}
     */
    valuesRecordStringUint8Array(): Record<string, Uint8Array>;
    /**
     * Returns the data as a Map whose keys and values are utf-8 strings, decoded from the underlying byte arrays.
     * This is a convenience alias for {valueMapStringString}.
     * @returns {Map<string, string>}
     */
    valuesMap(): Map<string, string>;
    /**
     * Returns the data as a Map whose keys and values are utf-8 strings, decoded from the underlying byte arrays.
     * @returns {Map<string, string>}
     */
    valuesMapStringString(): Map<string, string>;
    /**
     * Returns the data as a Map whose keys are strings and whose values are byte arrays.
     * @returns {Map<string, Uint8Array>}
     */
    valuesMapStringUint8Array(): Map<string, Uint8Array>;
    toString(): string;
}
/**
 * Indicates that an error occurred during the cache get batch 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 {
    constructor(_innerException: SdkError);
    readonly type: CacheGetBatchResponse.Error;
    values(): undefined;
}
export type Response = Success | Error;
export {};
