/**
 * 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 FlowModelRepository from '../repository';
import { SurfaceLocator } from './locator';
import type { FlowSurfaceWriteTarget } from './types';
export declare class FlowSurfaceContextResolver {
    private readonly repository;
    private readonly locator;
    private readonly options;
    constructor(repository: FlowModelRepository, locator: SurfaceLocator, options: {
        hydrateRoute: (routeLike: any, transaction?: any) => Promise<any>;
        ensureGridChild: (parentUid: string, use: string, transaction?: any) => Promise<string>;
        ensurePopupSurface: (parentUid: string, transaction?: any) => Promise<any>;
        getCollection: (dataSourceKey: string, collectionName: string) => any;
    });
    private resolveBlockCatalogContainerUse;
    filterBlocksByTarget(targetNode?: any, resolved?: any): import("./types").FlowSurfaceCatalogItem[];
    resolveFilterFormTarget(filterFormOwnerUid: string, targetBlockUid?: string, transaction?: any): Promise<{
        ownerUid: any;
        label: any;
        resourceInit: any;
    }>;
    collectFilterFormTargets(uid: string, transaction?: any): Promise<{
        ownerUid: any;
        label: any;
        resourceInit: any;
    }[]>;
    resolveBlockParent(target: FlowSurfaceWriteTarget, transaction?: any): any;
    resolveFieldContainer(uid: string, transaction?: any): Promise<{
        ownerUid: any;
        ownerUse: any;
        parentUid: any;
        subKey: string;
        subType: string;
        wrapperUse: string;
    }>;
    resolveActionContainer(target: FlowSurfaceWriteTarget, transaction?: any): Promise<{
        parentUid: any;
        subKey: string;
        subType: string;
        ownerUid: any;
        ownerUse: any;
    }>;
    resolveGridNode(uid: string, transaction?: any): Promise<any>;
    findOwningBlockGrid(uid: string, transaction?: any): Promise<any>;
}
