/**
 * Storage error
 * @template T - reference type
 */
export declare class StorageError<T> extends Error {
    /**
     * Storage reference
     */
    readonly reference: T;
    /**
     * Create a storage error
     * @param message - error message
     * @param reference - error storage reference
     */
    constructor(message: string, reference: T);
}
/**
 * Method not allowed storage error
 */
export declare class MethodNotAllowedStorageError extends StorageError<undefined> {
    /**
     * Create method not allowed error
     * @param message - error message
     */
    constructor(message: string);
}
/**
 * Precondition failed storage error
 * @template T - reference type
 */
export declare class PreconditionFailedStorageError<T> extends StorageError<T> {
    /**
     * Create precondition failed error
     * @param message - error message
     * @param reference - error storage reference
     */
    constructor(message: string, reference: T);
}
/**
 * Range not satisfiable storage error
 * @template T - reference type
 */
export declare class RangeNotSatisfiableStorageError<T> extends StorageError<T> {
    /**
     * Create range not satisfiable error
     * @param message - error message
     * @param reference - error storage reference
     */
    constructor(message: string, reference: T);
}
