import { SagaContext, StateStore } from "../types";
/**
 * In-memory implementation of StateStore
 * @template T Type of the data in the context
 */
export declare class InMemoryStateStore<T = Record<string, any>> implements StateStore<T> {
    private store;
    /**
     * Saves a Saga context
     * @param sagaId ID of the Saga
     * @param context Saga context to save
     */
    save(sagaId: string, context: SagaContext<T>): Promise<void>;
    /**
     * Loads a Saga context
     * @param sagaId ID of the Saga
     */
    load(sagaId: string): Promise<SagaContext<T> | null>;
    /**
     * Updates a Saga context
     * @param sagaId ID of the Saga
     * @param context Partial Saga context to update
     */
    update(sagaId: string, context: Partial<SagaContext<T>>): Promise<void>;
    /**
     * Deletes a Saga context
     * @param sagaId ID of the Saga
     */
    delete(sagaId: string): Promise<void>;
}
/**
 * Factory for creating StateStore instances
 */
export declare class StateStoreFactory {
    /**
     * Creates an in-memory StateStore
     * @template T Type of the data in the context
     */
    static createInMemoryStore<T = Record<string, any>>(): StateStore<T>;
    /**
     * Creates a file system StateStore
     * @param options Options for the file system store
     * @template T Type of the data in the context
     */
    static createFileSystemStore<T = Record<string, any>>(options: import("./FileSystemStateStore").FileSystemStateStoreOptions): StateStore<T>;
}
