import { OrPromise } from '@sphereon/ssi-types';
import { DataSource } from 'typeorm';
import { MachineStateInfoEntity } from '../entities/machineState/MachineStateInfoEntity';
import { StoreFindMachineStatesArgs, StoreMachineStateDeleteArgs, StoreMachineStateDeleteExpiredArgs, StoreMachineStateGetArgs, StoreMachineStateInfo, StoreMachineStatePersistArgs, StoreMachineStatesFindActiveArgs } from '../types';
import { IAbstractMachineStateStore } from './IAbstractMachineStateStore';
/**
 * Represents a data store for managing machine states.
 */
export declare class MachineStateStore extends IAbstractMachineStateStore {
    private readonly _dbConnection;
    constructor(dbConnection: OrPromise<DataSource>);
    persistMachineState(state: StoreMachineStatePersistArgs): Promise<StoreMachineStateInfo>;
    findActiveMachineStates(args: StoreMachineStatesFindActiveArgs): Promise<Array<StoreMachineStateInfo>>;
    findMachineStates(args?: StoreFindMachineStatesArgs): Promise<Array<StoreMachineStateInfo>>;
    getMachineState(args: StoreMachineStateGetArgs): Promise<StoreMachineStateInfo>;
    deleteMachineState(args: StoreMachineStateDeleteArgs): Promise<boolean>;
    deleteExpiredMachineStates(args: StoreMachineStateDeleteExpiredArgs): Promise<number>;
    protected static machineInfoFrom: (machineStateInfoEntity: MachineStateInfoEntity) => StoreMachineStateInfo;
    static machineStateInfoEntityFrom: (machineStateInfo: StoreMachineStateInfo | StoreMachineStatePersistArgs) => MachineStateInfoEntity;
}
//# sourceMappingURL=MachineStateStore.d.ts.map