/**
 * 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';
export declare class FlowSurfaceRouteSync {
    private readonly db;
    private readonly repository;
    private readonly patchModel;
    constructor(db: any, repository: FlowModelRepository, patchModel?: (values: Record<string, any>, options?: {
        transaction?: any;
    }) => Promise<any>);
    buildPageTree(pageRouteLike: any, transaction?: any): Promise<any>;
    buildTabAnchor(tabRouteLike: any, transaction?: any): Promise<{
        subModels?: {
            grid: Record<string, any>;
        };
        uid: string;
        use: string;
        props: {
            route: Record<string, any>;
            title: string;
            icon: string;
        };
        decoratorProps: Record<string, any>;
        flowRegistry: Record<string, any>;
        stepParams: {
            pageTabSettings: any;
        };
    }>;
    removeRouteAnchorChildren(schemaUid: string, transaction?: any): Promise<void>;
    removeTabAnchorTree(schemaUid: string, transaction?: any): Promise<void>;
    persistPageSettings(target: any, current: any, nextPayload: Record<string, any>, transaction?: any): Promise<void>;
    persistTabSettings(target: any, current: any, nextPayload: Record<string, any>, transaction?: any): Promise<void>;
    findPersistedTabAnchor(schemaUid: string, transaction?: any): Promise<any>;
    hydrateRoute(routeLike: any, transaction?: any): Promise<any>;
    private readPageRouteBackedState;
    private buildPageRoutePatch;
    private normalizePagePayload;
    private buildTabRoutePatch;
    normalizeTabPayload(current: any, nextPayload: Record<string, any>, routePatch: Record<string, any>): {
        props: any;
        stepParams: any;
        flowRegistry: any;
    };
}
