import { CompactMultiProof } from "@chainsafe/persistent-merkle-tree";
import { ByteListType, ContainerType } from "@chainsafe/ssz";
import { ChainForkConfig } from "@lodestar/config";
import { Endpoint, RouteDefinitions } from "../../utils/index.js";
import { VersionMeta } from "../../utils/metadata.js";
export declare const CompactMultiProofType: ContainerType<{
    leaves: import("@chainsafe/ssz").ArrayType<import("@chainsafe/ssz").Type<Uint8Array<ArrayBufferLike>>, unknown, unknown>;
    descriptor: ByteListType;
}>;
export type Endpoints = {
    /**
     * Returns a multiproof of `descriptor` at the requested `stateId`.
     * The requested `stateId` may not be available. Regular nodes only keep recent states in memory.
     */
    getStateProof: Endpoint<"GET", {
        stateId: string;
        descriptor: Uint8Array;
    }, {
        params: {
            state_id: string;
        };
        query: {
            format: string;
        };
    }, CompactMultiProof, VersionMeta>;
    /**
     * Returns a multiproof of `descriptor` at the requested `blockId`.
     * The requested `blockId` may not be available. Regular nodes only keep recent states in memory.
     */
    getBlockProof: Endpoint<"GET", {
        blockId: string;
        descriptor: Uint8Array;
    }, {
        params: {
            block_id: string;
        };
        query: {
            format: string;
        };
    }, CompactMultiProof, VersionMeta>;
};
export declare function getDefinitions(_config: ChainForkConfig): RouteDefinitions<Endpoints>;
//# sourceMappingURL=proof.d.ts.map