import { type PostShopFloorPlanBody, type PutShopFloorPlanBody, type ShopFloorPlanByCodeRequestOptions, type ShopFloorPlanDetail } from '@pisell/materials';
export type { PostShopFloorPlanBody, PutShopFloorPlanBody, ShopFloorPlanByCodeRequestOptions, ShopFloorPlanDetail, };
export { buildFloorPlanPutBody, floorMapSavedConfigToRemotePatch, mergeFloorPlanViewRemote, parseLayoutFieldToViewConfigPatch, } from '@pisell/materials';
export declare function isFloorPlanDuplicateCodeError(err: unknown): boolean;
export declare const getShopFloorPlanByCode: (code: string, subscribe?: any) => Promise<any>;
export declare const putShopFloorPlan: (id: number, body: PutShopFloorPlanBody) => Promise<unknown>;
export declare const unsubscribeShopFloorPlanCodeQuery: (subscriberId: string) => Promise<void>;
export declare function buildDefaultTopologyFloorPlanPostBody(code: string): PostShopFloorPlanBody;
export declare function ensureShopFloorPlanByCode(code: string, subscribe?: ShopFloorPlanByCodeRequestOptions & {
    /** 自定义首次创建的默认 body；不传则使用 mock shell（兼容旧调用） */
    buildDefaultPostBody?: (code: string) => PostShopFloorPlanBody;
}): Promise<ShopFloorPlanDetail | null>;
export declare function saveViewConfigToShopFloorPlan(id: number, config: import('@pisell/materials').FloorMapViewConfig, options: {
    canvasWidth?: number;
    canvasHeight?: number;
    code?: string;
    name?: Record<string, string>;
    sort?: number;
    status?: number;
    putFloorPlan?: (planId: number, body: PutShopFloorPlanBody) => Promise<unknown>;
}): Promise<unknown>;
export declare function toastFloorPlanSaveError(err: unknown): void;
export declare function toastFloorPlanLoadError(err: unknown): void;
