import { FetchJsonClient } from '@ariestools/sdk';
import type { SignedHydratedBlockWithHashMeta, SyncStepSummaryMetadata, SyncStepSummaryStatus, SyncViewer, XL1BlockNumber } from '@xyo-network/xl1-protocol/protocol-lib';
import { AbstractCreatableProvider, type CreatableProviderParams } from '../../CreatableProvider/index.js';
/** Parameters for RestSyncViewer. */
export interface RestSyncViewerParams extends CreatableProviderParams {
    /** endpoint configuration or state exposed by this contract. */
    endpoint: string;
}
/** RestSyncViewer implementation for the SyncActor REST endpoint. */
export declare class RestSyncViewer<TParams extends RestSyncViewerParams = RestSyncViewerParams> extends AbstractCreatableProvider<TParams> implements SyncViewer {
    /** Connection kinds supported by this provider. */
    static readonly connectionTypes: readonly ["rest"];
    /** Primary moniker used to resolve this provider. */
    static readonly defaultMoniker: "SyncViewer";
    /** Provider monikers that must resolve before this provider can be created. */
    static readonly dependencies: never[];
    /** Provider monikers implemented by this provider class. */
    static readonly monikers: "SyncViewer"[];
    /** Moniker implemented by this provider instance. */
    moniker: "SyncViewer";
    protected get client(): FetchJsonClient;
    protected get endpoint(): string;
    /** Returns the step summary result exposed by this provider. */
    stepSummary(step: number, block: XL1BlockNumber): Promise<SignedHydratedBlockWithHashMeta[] | null>;
    /** Returns the step summary metadata result exposed by this provider. */
    stepSummaryMetadata(step: number, block: XL1BlockNumber): Promise<SyncStepSummaryMetadata | null>;
    /** Returns the step summary status result exposed by this provider. */
    stepSummaryStatus(): Promise<SyncStepSummaryStatus>;
    private isNotFound;
    private url;
}
//# sourceMappingURL=RestSyncViewer.d.ts.map