import * as Generator from '@postxl/generator';
import { WithBackendTrpcRouter } from '../backend-router-trpc';
import { WithBase } from '../base';
import { WithFrontend } from '../frontend-core';
import { WithForms } from '../frontend-forms';
import { WithFrontendTrpcClient } from '../frontend-trpc-client';
import { WithTypes } from '../types';
type ContextRequirements = WithFrontend<WithForms<WithBackendTrpcRouter<WithFrontendTrpcClient<WithTypes<WithBase<Generator.Context>>>>>>;
export type ModelContextRequirements = Generator.InferModelContext<ContextRequirements>;
export type ContextResult = WithTables<ContextRequirements>;
export type ModelContextResult = Generator.InferModelContext<ContextResult>;
export type EnumContextResult = Generator.InferEnumContext<ContextResult>;
export type WithTables<Context> = Generator.ExtendContextAndModel<Context, {
    /**
     * Overall React tables information
     */
    tables: ContextTables;
}, {
    /**
     * Model specific React table information
     */
    table: ModelContextTable;
}>;
type ContextTables = {};
type ModelContextTable = {
    /**
     * The table component with filters
     */
    component: Generator.ImportableFunction;
    /**
     * The raw component without filters
     */
    componentWithoutFilters: Generator.ImportableFunction;
    /**
     * Name of the prop for the model if its data is required for reference in other tables
     */
    propName: string;
};
export declare const generatorId: string & import("zod").$brand<"PXL.GeneratorInterfaceId">;
export declare const generator: Generator.GeneratorInterface;
export {};
