/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import { FlowModel, IFlowModelRepository } from '@nocobase/flow-engine';
import type { BaseApplication } from '../BaseApplication';
export declare class MockFlowModelRepository implements IFlowModelRepository<FlowModel> {
    protected prefix: string;
    constructor(prefix?: string);
    get models(): Map<any, any>;
    findOne(query: any): Promise<any>;
    loadByParentId(parentId: string): Promise<any>;
    load(uid: string): Promise<any>;
    save(model: FlowModel): Promise<Record<string, any>>;
    destroy(uid: string): Promise<boolean>;
    clear(): Promise<boolean>;
    move(sourceId: string, targetId: string, position?: 'before' | 'after'): Promise<void>;
    duplicate(uid: string): Promise<any>;
}
export declare class FlowModelRepository implements IFlowModelRepository<FlowModel> {
    private app;
    constructor(app: BaseApplication);
    private inFlightFindOne;
    private buildFindOneKey;
    findOne(query: any): Promise<any>;
    save(model: FlowModel, options?: {
        onlyStepParams?: boolean;
    }): Promise<any>;
    destroy(uid: string): Promise<boolean>;
    move(sourceId: string, targetId: string, position?: 'before' | 'after'): Promise<any>;
    duplicate(uid: string): Promise<any>;
}
