import { Effect } from "effect"; import type { Abi } from "viem"; import type { ContractWriterShape } from "../../contract/index.js"; import type { PublicClientServiceShape } from "../../core/index.js"; import type { EventStreamShape } from "../../events/index.js"; import type { GasServiceShape } from "../../gas/index.js"; import type { NonceServiceShape } from "../../nonce/index.js"; import type { TxManagerShape, TxPolicy, TxReplacementShape, TxState } from "../../tx/index.js"; import type { ContractFunctionName } from "../../types/index.js"; import type { WriteAndTrackError, WriteAndTrackParams, WriteAndTrackResult } from "./types.js"; export type WriteAndTrackDeps = { readonly writer: ContractWriterShape; readonly txManager: TxManagerShape; readonly eventStream: EventStreamShape; readonly nonceService: NonceServiceShape; readonly txReplacement: TxReplacementShape; readonly publicClientService: PublicClientServiceShape; readonly gasService: GasServiceShape; }; export declare const makeWriteAndTrack: (deps: WriteAndTrackDeps) => >(params: WriteAndTrackParams) => Effect.Effect<{ actions: { cancel: (overridePolicy?: TxPolicy) => Effect.Effect<`0x${string}`, Error, never>; speedup: (overridePolicy?: TxPolicy) => Effect.Effect<`0x${string}`, Error, never>; }; result: Effect.Effect, WriteAndTrackError, never>; stateRef: import("effect/SubscriptionRef").SubscriptionRef; }, never, import("effect/Scope").Scope>; //# sourceMappingURL=write-and-track.d.ts.map