import type { Hash } from '@ariestools/sdk';
import type { BlockViewer, SignedHydratedTransactionWithHashMeta, TransactionViewer, XL1BlockNumber } from '@xyo-network/xl1-protocol/protocol-lib';
import type { CreatableProviderParams } from '../../CreatableProvider/index.js';
import { AbstractCreatableProvider } from '../../CreatableProvider/index.js';
/** Parameters for SimpleTransactionViewer. */
export interface SimpleTransactionViewerParams extends CreatableProviderParams {
}
/** SimpleTransactionViewer implementation. */
export declare class SimpleTransactionViewer extends AbstractCreatableProvider<SimpleTransactionViewerParams> implements TransactionViewer {
    static readonly connectionTypes: readonly ["lmdb", "mongo", "memory"];
    static readonly defaultMoniker: "TransactionViewer";
    static readonly dependencies: "BlockViewer"[];
    static readonly monikers: "TransactionViewer"[];
    moniker: "TransactionViewer";
    private _blockViewer;
    protected get blockViewer(): BlockViewer<"BlockViewer">;
    byBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promise<SignedHydratedTransactionWithHashMeta | null>;
    byBlockNumberAndIndex(blockNumber: XL1BlockNumber, transactionIndex: number): Promise<SignedHydratedTransactionWithHashMeta | null>;
    byHash(transactionHash: Hash): Promise<SignedHydratedTransactionWithHashMeta | null>;
    createHandler(): Promise<void>;
    transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex?: number): Promise<SignedHydratedTransactionWithHashMeta | null>;
    transactionByBlockNumberAndIndex(blockNumber: XL1BlockNumber, transactionIndex?: number): Promise<SignedHydratedTransactionWithHashMeta | null>;
    transactionByHash(transactionHash: Hash): Promise<SignedHydratedTransactionWithHashMeta | null>;
}
//# sourceMappingURL=SimpleTransactionViewer.d.ts.map