import { ApolloServer } from "apollo-server-koa";
import * as Koa from "koa";
import { IObjectTransformerMap, IComplexResourceConfig, IObjectStringByGeneric, IServicePermission } from "./interfaces";
export { initPostProcessing, permit, genNextMigrationName, modularMigration, } from "./utils";
export declare const ignite: ({ db, metadata, resourceSearchMiddleware, complexResources, systemPermissions, resourcePermissions, paginationLimit, grpcPort, redactedFields, }: {
    db: any;
    metadata: any;
    resourceSearchMiddleware?: IObjectTransformerMap;
    complexResources?: IComplexResourceConfig[];
    systemPermissions?: IServicePermission;
    resourcePermissions?: IObjectStringByGeneric<IServicePermission>;
    paginationLimit?: string | number;
    grpcPort?: string | number;
    redactedFields?: IObjectStringByGeneric<string[]>;
}) => Promise<{
    App: Koa<Koa.DefaultState, Koa.DefaultContext & import("joi").Context>;
    logger: any;
    apolloServer: ApolloServer;
    AppShortName: string;
    grpcService: import("@grpc/grpc-js").Server;
}>;
