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 {
    /** Connection kinds supported by this provider. */
    static readonly connectionTypes: readonly ["none"];
    /** Primary moniker used to resolve this provider. */
    static readonly defaultMoniker: "TransactionViewer";
    /** Provider monikers that must resolve before this provider can be created. */
    static readonly dependencies: "BlockViewer"[];
    /** Provider monikers implemented by this provider class. */
    static readonly monikers: "TransactionViewer"[];
    /** Moniker implemented by this provider instance. */
    moniker: "TransactionViewer";
    private _blockViewer;
    protected get blockViewer(): BlockViewer<"BlockViewer">;
    /** Returns the by block hash and index result exposed by this provider. */
    byBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promise<SignedHydratedTransactionWithHashMeta | null>;
    /** Returns the by block number and index result exposed by this provider. */
    byBlockNumberAndIndex(blockNumber: XL1BlockNumber, transactionIndex: number): Promise<SignedHydratedTransactionWithHashMeta | null>;
    /** Returns the by hash result exposed by this provider. */
    byHash(transactionHash: Hash): Promise<SignedHydratedTransactionWithHashMeta | null>;
    /** Creates the provider instance after its dependencies and configuration have resolved. */
    createHandler(): Promise<void>;
    /** Returns the transaction by block hash and index result exposed by this provider. */
    transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex?: number): Promise<SignedHydratedTransactionWithHashMeta | null>;
    /** Returns the transaction by block number and index result exposed by this provider. */
    transactionByBlockNumberAndIndex(blockNumber: XL1BlockNumber, transactionIndex?: number): Promise<SignedHydratedTransactionWithHashMeta | null>;
    /** Returns the transaction by hash result exposed by this provider. */
    transactionByHash(transactionHash: Hash): Promise<SignedHydratedTransactionWithHashMeta | null>;
}
//# sourceMappingURL=SimpleTransactionViewer.d.ts.map