import { WorkflowsStorage } from '@mastra/core/storage';
import type { StorageListWorkflowRunsInput, WorkflowRun, WorkflowRuns, UpdateWorkflowStateOptions } from '@mastra/core/storage';
import type { StepResult, WorkflowRunState } from '@mastra/core/workflows';
import { InstanceAiWorkflowSnapshotRepository } from '../repositories/instance-ai-workflow-snapshot.repository';
export declare class TypeORMWorkflowsStorage extends WorkflowsStorage {
    private readonly snapshotRepo;
    constructor(snapshotRepo: InstanceAiWorkflowSnapshotRepository);
    supportsConcurrentUpdates(): boolean;
    dangerouslyClearAll(): Promise<void>;
    persistWorkflowSnapshot(args: {
        workflowName: string;
        runId: string;
        resourceId?: string;
        snapshot: WorkflowRunState;
        createdAt?: Date;
        updatedAt?: Date;
    }): Promise<void>;
    loadWorkflowSnapshot({ workflowName, runId, }: {
        workflowName: string;
        runId: string;
    }): Promise<WorkflowRunState | null>;
    updateWorkflowState({ workflowName, runId, opts, }: {
        workflowName: string;
        runId: string;
        opts: UpdateWorkflowStateOptions;
    }): Promise<WorkflowRunState | undefined>;
    updateWorkflowResults({ workflowName, runId, stepId, result, }: {
        workflowName: string;
        runId: string;
        stepId: string;
        result: StepResult<unknown, unknown, unknown, unknown>;
        requestContext: Record<string, unknown>;
    }): Promise<Record<string, StepResult<unknown, unknown, unknown, unknown>>>;
    listWorkflowRuns(args?: StorageListWorkflowRunsInput): Promise<WorkflowRuns>;
    getWorkflowRunById({ runId, workflowName, }: {
        runId: string;
        workflowName?: string;
    }): Promise<WorkflowRun | null>;
    deleteWorkflowRunById({ runId, workflowName, }: {
        runId: string;
        workflowName: string;
    }): Promise<void>;
    deleteAllByRunId(runId: string): Promise<void>;
}
