import { Chaintracks } from './Chaintracks'; import { IncomingMessage, Server, ServerResponse } from 'node:http'; import { Chain } from '../../../sdk/types'; import { Services } from '../../Services'; import { type HttpServerPolicyDefaults } from '../../../storage/remoting/edgePolicy'; export interface ChaintracksServiceOptions { chain: Chain; /** * prepended to the path of each registered service endpoint */ routingPrefix: string; /** * Defaults to default configured Chaintracks instance with NoDb storage. */ chaintracks?: Chaintracks; services?: Services; port?: number; /** Exact browser origins allowed to use the service. Omit for public CORS. */ allowedOrigins?: string[]; maxConcurrentRequests?: number; http?: Partial; /** Request starts allowed per client address per minute. Defaults to 3,000. */ maxRequestsPerMinute?: number; /** Header submissions allowed per client address per minute. Defaults to 120. */ maxHeaderSubmissionsPerMinute?: number; /** Express trusted-proxy policy used to derive the client address. Disabled by default. */ trustProxy?: boolean | number | string | string[]; /** Maximum header count returned by one request. Defaults to 10,000; hard maximum 100,000. */ maxHeadersPerRequest?: number; /** Maximum supported getInfo diagnostic wait. Defaults to 1 second; hard maximum 30 seconds. */ maxWaitMsecs?: number; /** Opt in to per-request path logging. Response bodies and query values are never logged. */ logRequests?: boolean; } export declare class ChaintracksService { static createChaintracksServiceOptions(chain: Chain): ChaintracksServiceOptions; chain: Chain; options: ChaintracksServiceOptions; port?: number; chaintracks: Chaintracks; services: Services; server?: Server; private readonly maxRequestsPerMinute; private readonly maxHeaderSubmissionsPerMinute; private readonly maxHeadersPerRequest; private readonly maxWaitMsecs; constructor(options: ChaintracksServiceOptions); stopJsonRpcServer(): Promise; startJsonRpcServer(port?: number): Promise; } //# sourceMappingURL=ChaintracksService.d.ts.map