import { ResponseBase, BaseResponseMiss, BaseResponseError } from './response-base';
import { _SortedSetElement } from './grpc-response-types';
import { CacheSortedSetFetchResponse } from './enums';
import { SdkError } from '../../errors';
interface IResponse {
    value(): {
        value: string;
        score: number;
    }[] | undefined;
    readonly type: CacheSortedSetFetchResponse;
}
/**
 * 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 Hit extends ResponseBase implements IResponse {
    private readonly elements;
    private readonly _displayListSizeLimit;
    readonly type: CacheSortedSetFetchResponse.Hit;
    constructor(elements: _SortedSetElement[]);
    /**
     * Returns the elements as an array of objects, each containing a `value` and `score` field.
     * The value is a byte array, and the score is a number.
     * @returns {{value: Uint8Array; score: number}[]}
     */
    valueArrayUint8Elements(): {
        value: Uint8Array;
        score: number;
    }[];
    /**
     * Returns the elements as an array of objects, each containing a `value` and `score` field.
     * The value is a utf-8 string, decoded from the underlying byte array, and the score is a number.
     * @returns {{value: string; score: number}[]}
     */
    valueArrayStringElements(): {
        value: string;
        score: number;
    }[];
    /**
     * Returns the elements as an array of objects, each containing a `value` and `score` field.
     * The value is a utf-8 string, decoded from the underlying byte array, and the score is a number.
     * This is a convenience alias for {valueArrayStringNumber}.
     * @returns {value: string; score: number}[]
     */
    valueArray(): {
        value: string;
        score: number;
    }[];
    /**
     * Returns the elements as an array of objects, each containing a `value` and `score` field.
     * The value is a utf-8 string, decoded from the underlying byte array, and the score is a number.
     * This is a convenience alias for {valueArrayStringNumber}.
     * @returns {value: string; score: number}[]
     */
    value(): {
        value: string;
        score: number;
    }[];
    private truncateValueStrings;
    toString(): string;
}
/**
 * Indicates that the requested data was not available in the cache.
 */
export declare class Miss extends BaseResponseMiss implements IResponse {
    readonly type: CacheSortedSetFetchResponse.Miss;
    value(): undefined;
}
/**
 * Indicates that an error occurred during the dictionary fetch 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: CacheSortedSetFetchResponse.Error;
    constructor(error: SdkError);
    value(): undefined;
}
export type Response = Hit | Miss | Error;
export {};
