import { type EntityData, type EntityManager, type MutatorResponse, type RepositoryResponse } from "../../data";
import type { ModuleBuildContext } from "../../modules";
import { Controller } from "../../modules/Controller";
import type { AppDataConfig } from "../data-schema";
export declare class DataController extends Controller {
    private readonly ctx;
    private readonly config;
    constructor(ctx: ModuleBuildContext, config: AppDataConfig);
    get em(): EntityManager<any>;
    get guard(): import("../../auth").Guard;
    repoResult<T extends RepositoryResponse<any> = RepositoryResponse>(res: T): Pick<T, "meta" | "data">;
    mutatorResult(res: MutatorResponse | MutatorResponse<EntityData>): {
        [k: string]: EntityData | EntityData[];
    };
    entityExists(entity: string): boolean;
    getController(): import("hono/hono-base").HonoBase<import("hono").Env & {
        Variables: {
            app: import("../..").App;
            auth?: {
                resolved: boolean;
                registered: boolean;
                skip: boolean;
                user?: import("../../auth").SafeUser;
            };
            html?: string;
        };
    }, {
        "*": {
            $all: {
                input: {};
                output: {};
                outputFormat: string;
                status: import("hono/utils/http-status").StatusCode;
            };
        };
    }, "/">;
    private getEntityRoutes;
}
