import type { ArchivistInstance } from '@xyo-network/sdk';
import { type BlockRejection, type DeadLetterQueuePruneOptions, type DeadLetterQueueRunner, type TransactionRejection } from '@xyo-network/xl1-protocol/protocol-lib';
import type { ArchivistConnectionBinding, CreatableProviderParams } from '../protocol-sdk/index.js';
import { AbstractCreatableProvider } from '../protocol-sdk/index.js';
/** Parameters for SimpleDeadLetterQueueRunner. */
export interface SimpleDeadLetterQueueRunnerParams extends CreatableProviderParams {
    /** Connection the rejected stores self-provision from when archivists are not injected. */
    connection?: ArchivistConnectionBinding;
    /** rejected Blocks Archivist configuration or state exposed by this contract. */
    rejectedBlocksArchivist?: ArchivistInstance;
    /** rejected Transactions Archivist configuration or state exposed by this contract. */
    rejectedTransactionsArchivist?: ArchivistInstance;
}
/** SimpleDeadLetterQueueRunner implementation. */
export declare class SimpleDeadLetterQueueRunner extends AbstractCreatableProvider<SimpleDeadLetterQueueRunnerParams> implements DeadLetterQueueRunner {
    /** Connection kinds supported by this provider. */
    static readonly connectionTypes: readonly ["lmdb", "mongo", "memory"];
    /** Primary moniker used to resolve this provider. */
    static readonly defaultMoniker: "DeadLetterQueueRunner";
    /** Provider monikers that must resolve before this provider can be created. */
    static readonly dependencies: string[];
    /** Provider monikers implemented by this provider class. */
    static readonly monikers: "DeadLetterQueueRunner"[];
    /** Read, write, or mixed capability surface exposed by the provider. */
    static readonly surface: "node";
    /** Moniker implemented by this provider instance. */
    moniker: "DeadLetterQueueRunner";
    protected get rejectedBlocksArchivist(): ArchivistInstance;
    protected get rejectedTransactionsArchivist(): ArchivistInstance;
    /** Returns the params handler result exposed by this provider. */
    static paramsHandler(params?: Partial<SimpleDeadLetterQueueRunnerParams>): Promise<SimpleDeadLetterQueueRunnerParams>;
    /** Removes data through the prune rejected blocks operation. */
    pruneRejectedBlocks({ batchSize, maxPrune, maxCheck, }?: DeadLetterQueuePruneOptions): Promise<[number, number]>;
    /** Removes data through the prune rejected transactions operation. */
    pruneRejectedTransactions({ batchSize, maxPrune, maxCheck, }?: DeadLetterQueuePruneOptions): Promise<[number, number]>;
    /** Rejects data through the reject block operation. */
    rejectBlock(rejection: BlockRejection): Promise<boolean>;
    /** Rejects data through the reject transaction operation. */
    rejectTransaction(rejection: TransactionRejection): Promise<boolean>;
}
//# sourceMappingURL=SimpleDeadLetterQueueRunner.d.ts.map