import { type Hash } from '@ariestools/sdk';
import type { ArchivistInstance } from '@xyo-network/sdk';
import type { FinalizationRunner, SignedHydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol/protocol-lib';
import type { ArchivistConnectionBinding } from '../../Archivists/index.js';
import type { CreatableProviderParams } from '../../CreatableProvider/index.js';
import { AbstractCreatableProvider } from '../../CreatableProvider/index.js';
import type { ChainStoreWrite } from '../../model/index.js';
/** Parameters for SimpleFinalizationRunner. */
export interface SimpleFinalizationRunnerParams extends CreatableProviderParams {
    /** Connection the chain store self-provisions from when finalizedArchivist is not injected. */
    connection?: ArchivistConnectionBinding;
    /** finalized Archivist configuration or state exposed by this contract. */
    finalizedArchivist?: ArchivistInstance;
}
/** SimpleFinalizationRunner implementation. */
export declare class SimpleFinalizationRunner extends AbstractCreatableProvider<SimpleFinalizationRunnerParams> implements FinalizationRunner {
    /** Connection kinds supported by this provider. */
    static readonly connectionTypes: readonly ["lmdb", "mongo", "memory"];
    /** Primary moniker used to resolve this provider. */
    static readonly defaultMoniker: "FinalizationRunner";
    /** 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: "FinalizationRunner"[];
    /** Read, write, or mixed capability surface exposed by the provider. */
    static readonly surface: "node";
    /** Moniker implemented by this provider instance. */
    moniker: "FinalizationRunner";
    protected _store: ChainStoreWrite | undefined;
    protected get finalizedArchivist(): ArchivistInstance;
    protected get store(): ChainStoreWrite;
    /** Returns the params handler result exposed by this provider. */
    static paramsHandler(params?: Partial<SimpleFinalizationRunnerParams>): Promise<SimpleFinalizationRunnerParams>;
    /** Creates the provider instance after its dependencies and configuration have resolved. */
    createHandler(): Promise<void>;
    /** Finalizes block. */
    finalizeBlock(block: SignedHydratedBlockWithHashMeta): Promise<Hash>;
    /** Finalizes blocks. */
    finalizeBlocks(blocks: SignedHydratedBlockWithHashMeta[]): Promise<Hash[]>;
}
//# sourceMappingURL=SimpleFinalizationRunner.d.ts.map