import { CustomError } from 'ts-custom-error';
import { Metrics } from '@graphprotocol/common-ts';
export declare enum IndexerErrorCode {
    IE001 = "IE001",
    IE002 = "IE002",
    IE003 = "IE003",
    IE004 = "IE004",
    IE005 = "IE005",
    IE006 = "IE006",
    IE007 = "IE007",
    IE008 = "IE008",
    IE009 = "IE009",
    IE010 = "IE010",
    IE011 = "IE011",
    IE012 = "IE012",
    IE013 = "IE013",
    IE014 = "IE014",
    IE015 = "IE015",
    IE016 = "IE016",
    IE017 = "IE017",
    IE018 = "IE018",
    IE019 = "IE019",
    IE020 = "IE020",
    IE021 = "IE021",
    IE022 = "IE022",
    IE023 = "IE023",
    IE024 = "IE024",
    IE025 = "IE025",
    IE026 = "IE026",
    IE027 = "IE027",
    IE028 = "IE028",
    IE029 = "IE029",
    IE030 = "IE030",
    IE031 = "IE031",
    IE032 = "IE032",
    IE033 = "IE033",
    IE034 = "IE034",
    IE035 = "IE035",
    IE036 = "IE036",
    IE037 = "IE037",
    IE038 = "IE038",
    IE039 = "IE039",
    IE040 = "IE040",
    IE041 = "IE041",
    IE042 = "IE042",
    IE043 = "IE043",
    IE044 = "IE044",
    IE045 = "IE045",
    IE046 = "IE046",
    IE047 = "IE047",
    IE048 = "IE048",
    IE049 = "IE049",
    IE050 = "IE050",
    IE051 = "IE051",
    IE052 = "IE052",
    IE053 = "IE053",
    IE054 = "IE054",
    IE055 = "IE055",
    IE056 = "IE056",
    IE057 = "IE057"
}
export declare const INDEXER_ERROR_MESSAGES: Record<IndexerErrorCode, string>;
export declare type IndexerErrorCause = unknown;
export declare class IndexerError extends CustomError {
    code: IndexerErrorCode;
    explanation: string;
    cause?: IndexerErrorCause;
    constructor(code: IndexerErrorCode, cause?: IndexerErrorCause);
}
export declare function indexerError(code: IndexerErrorCode, cause?: IndexerErrorCause): IndexerError;
export declare function registerIndexerErrorMetrics(metrics: Metrics): void;
