import type { CreateUserPayload } from "./auth/AppAuth";
import { Event } from "./core/events";
import { Connection, type LibSqlCredentials } from "./data";
import type { Hono } from "hono";
import { ModuleManager, type InitialModuleConfigs, type ModuleBuildContext, type ModuleConfigs, type ModuleManagerOptions, type Modules } from "./modules/ModuleManager";
import { AdminController, type AdminControllerOptions } from "./modules/server/AdminController";
import { Api, type ApiOptions } from "./Api";
import type { ServerEnv } from "./modules/Controller";
export type AppPlugin = (app: App) => Promise<void> | void;
declare abstract class AppEvent<A = {}> extends Event<{
    app: App;
} & A> {
}
export declare class AppConfigUpdatedEvent extends AppEvent {
    static slug: string;
}
export declare class AppBuiltEvent extends AppEvent {
    static slug: string;
}
export declare class AppFirstBoot extends AppEvent {
    static slug: string;
}
export declare class AppRequest extends AppEvent<{
    request: Request;
}> {
    static slug: string;
}
export declare class AppBeforeResponse extends AppEvent<{
    request: Request;
    response: Response;
}> {
    static slug: string;
}
export declare const AppEvents: {
    readonly AppConfigUpdatedEvent: typeof AppConfigUpdatedEvent;
    readonly AppBuiltEvent: typeof AppBuiltEvent;
    readonly AppFirstBoot: typeof AppFirstBoot;
    readonly AppRequest: typeof AppRequest;
    readonly AppBeforeResponse: typeof AppBeforeResponse;
};
export type AppOptions = {
    plugins?: AppPlugin[];
    seed?: (ctx: ModuleBuildContext & {
        app: App;
    }) => Promise<void>;
    manager?: Omit<ModuleManagerOptions, "initial" | "onUpdated" | "seed">;
    asyncEventsMode?: "sync" | "async" | "none";
};
export type CreateAppConfig = {
    connection?: Connection | {
        type: "libsql";
        config: LibSqlCredentials;
    } | LibSqlCredentials;
    initialConfig?: InitialModuleConfigs;
    options?: AppOptions;
};
export type AppConfig = InitialModuleConfigs;
export type LocalApiOptions = Request | ApiOptions;
export declare class App {
    private connection;
    private options?;
    static readonly Events: {
        readonly AppConfigUpdatedEvent: typeof AppConfigUpdatedEvent;
        readonly AppBuiltEvent: typeof AppBuiltEvent;
        readonly AppFirstBoot: typeof AppFirstBoot;
        readonly AppRequest: typeof AppRequest;
        readonly AppBeforeResponse: typeof AppBeforeResponse;
    };
    modules: ModuleManager;
    adminController?: AdminController;
    _id: string;
    private trigger_first_boot;
    private plugins;
    private _building;
    constructor(connection: Connection, _initialConfig?: InitialModuleConfigs, options?: AppOptions | undefined);
    get emgr(): import("./core").EventManager<any>;
    build(options?: {
        sync?: boolean;
        fetch?: boolean;
        forceBuild?: boolean;
    }): Promise<void>;
    mutateConfig<Module extends keyof Modules>(module: Module): Pick<ReturnType<Modules[Module]["schema"]>, "patch" | "overwrite" | "set" | "remove">;
    get server(): Hono<ServerEnv, import("hono/types").BlankSchema, "/">;
    get em(): import("./data").EntityManager<import("./core").DB>;
    get fetch(): Hono["fetch"];
    get module(): Modules;
    getSchema(): {
        server: import("@sinclair/typebox").TObject<{
            enabled: import("@sinclair/typebox").TBoolean;
            basepath: import("@sinclair/typebox").TString;
            entity_name: import("@sinclair/typebox").TString;
            storage: import("@sinclair/typebox").TObject<{
                body_max_size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
            }>;
            adapter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TLiteral<string>;
                config: import("@sinclair/typebox").TObject<import("@sinclair/typebox").TProperties>;
            }>[]>>;
        }> | import("@sinclair/typebox").TObject<{
            enabled: import("@sinclair/typebox").TBoolean;
            basepath: import("@sinclair/typebox").TString;
            entity_name: import("@sinclair/typebox").TString;
            allow_register: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            jwt: import("@sinclair/typebox").TObject<{
                secret: import("@sinclair/typebox").TString;
                alg: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"HS256" | "HS384" | "HS512">>;
                expires: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                issuer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
            }>;
            cookie: import("@sinclair/typebox").TObject<{
                path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                sameSite: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"strict" | "lax" | "none">>;
                secure: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                httpOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                expires: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                renew: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                pathSuccess: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                pathLoggedOut: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            }>;
            strategies: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                type: import("@sinclair/typebox").TLiteral<"password"> | import("@sinclair/typebox").TLiteral<"oauth"> | import("@sinclair/typebox").TLiteral<"custom_oauth">;
                config: import("@sinclair/typebox").TObject<{
                    hashing: import("@sinclair/typebox").TUnsafe<"plain" | "sha256" | "bcrypt">;
                    rounds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                }> | import("@sinclair/typebox").TObject<{
                    name: import("@sinclair/typebox").TUnsafe<"google" | "github">;
                    type: import("@sinclair/typebox").TUnsafe<"oidc" | "oauth2">;
                    client: import("@sinclair/typebox").TObject<{
                        client_id: import("@sinclair/typebox").TString;
                        client_secret: import("@sinclair/typebox").TString;
                    }>;
                }> | import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TUnsafe<"oidc" | "oauth2">;
                    name: import("@sinclair/typebox").TString;
                    client: import("@sinclair/typebox").TObject<{
                        client_id: import("@sinclair/typebox").TString;
                        client_secret: import("@sinclair/typebox").TString;
                        token_endpoint_auth_method: import("@sinclair/typebox").TUnsafe<"client_secret_basic">;
                    }>;
                    as: import("@sinclair/typebox").TObject<{
                        issuer: import("@sinclair/typebox").TString;
                        code_challenge_methods_supported: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"S256">>;
                        scopes_supported: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                        scope_separator: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        authorization_endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        token_endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        userinfo_endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    }>;
                }>;
            }>[]>>>;
            guard: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            }>>;
            roles: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                permissions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                is_default: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                implicit_allow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            }>>>;
        }> | import("@sinclair/typebox").TObject<{
            cors: import("@sinclair/typebox").TObject<{
                origin: import("@sinclair/typebox").TString;
                allow_methods: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<string>>;
                allow_headers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
            }>;
        }> | import("@sinclair/typebox").TObject<{
            basepath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            default_primary_format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
            entities: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    name_singular: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    sort_field: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    sort_dir: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"asc" | "desc">>;
                    primary_format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
                }>>;
                fields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TLiteral<"number"> | import("@sinclair/typebox").TLiteral<"boolean"> | import("@sinclair/typebox").TLiteral<"json"> | import("@sinclair/typebox").TLiteral<"text"> | import("@sinclair/typebox").TLiteral<"media"> | import("@sinclair/typebox").TLiteral<"enum"> | import("@sinclair/typebox").TLiteral<"date"> | import("@sinclair/typebox").TLiteral<"primary"> | import("@sinclair/typebox").TLiteral<"relation"> | import("@sinclair/typebox").TLiteral<"jsonschema">;
                    config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>>;
                        minLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        maxLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        pattern: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        html_config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                            element: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                            props: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>;
                        }>>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TAny]>>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TAny]>>;
                        minimum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        maximum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        exclusiveMinimum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        exclusiveMaximum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        multipleOf: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        type: import("@sinclair/typebox").TUnsafe<"date" | "week" | "datetime">;
                        timezone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        min_date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        max_date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        reference: import("@sinclair/typebox").TString;
                        target: import("@sinclair/typebox").TString;
                        target_field: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        target_field_type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"text" | "integer">>;
                        on_delete: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"no action" | "restrict" | "cascade" | "set null" | "set default">>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<false>>;
                        format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        entity: import("@sinclair/typebox").TString;
                        min_items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        max_items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        mime_types: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>>;
                        options: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"strings">;
                            values: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
                        }>, import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"objects">;
                            values: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
                                label: import("@sinclair/typebox").TString;
                                value: import("@sinclair/typebox").TString;
                            }>>;
                        }>]>>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        schema: import("@sinclair/typebox").TObject<{}>;
                        ui_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>;
                        default_from_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>>;
                }>[]>>>;
            }>>>;
            relations: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TLiteral<string>;
                source: import("@sinclair/typebox").TString;
                target: import("@sinclair/typebox").TString;
                config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    connectionTable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    connectionTableMappedName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    sourceCardinality: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                    with_limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                    fieldConfig: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        label: import("@sinclair/typebox").TString;
                    }>>;
                }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    targetCardinality: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                }>>;
            }>[]>>>;
            indices: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                entity: import("@sinclair/typebox").TString;
                fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
                unique: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            }>>>;
        }> | import("@sinclair/typebox").TObject<{
            basepath: import("@sinclair/typebox").TString;
            flows: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                trigger: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TLiteral<"manual" | "event" | "http">;
                    config: import("@sinclair/typebox").TObject<{
                        mode: import("@sinclair/typebox").TUnsafe<"sync" | "async">;
                    }> | import("@sinclair/typebox").TObject<{
                        mode: import("@sinclair/typebox").TUnsafe<"sync" | "async">;
                        event: import("@sinclair/typebox").TString;
                    }> | import("@sinclair/typebox").TObject<{
                        mode: import("@sinclair/typebox").TUnsafe<"sync" | "async">;
                        path: import("@sinclair/typebox").TString;
                        method: import("@sinclair/typebox").TUnsafe<"GET" | "POST" | "PATCH" | "PUT" | "DELETE">;
                        response_type: import("@sinclair/typebox").TUnsafe<"json" | "text" | "html">;
                    }>;
                }>[]>;
                tasks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TLiteral<"log" | "fetch" | "render" | "subflow">;
                    params: import("@sinclair/typebox").TObject<{
                        url: import("@sinclair/typebox").TString;
                        method: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TUnsafe<string>, import("@sinclair/typebox").TString]>, string>>;
                        headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
                            key: import("@sinclair/typebox").TString;
                            value: import("@sinclair/typebox").TString;
                        }>>, import("@sinclair/typebox").TString]>, {
                            key: string;
                            value: string;
                        }[]>>;
                        body: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TString, import("@sinclair/typebox").TString]>, string>>;
                        normal: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>, number>>;
                    }> | import("@sinclair/typebox").TObject<{
                        delay: import("@sinclair/typebox").TNumber;
                    }> | import("@sinclair/typebox").TObject<{
                        render: import("@sinclair/typebox").TString;
                    }> | import("@sinclair/typebox").TObject<{
                        flow: import("@sinclair/typebox").TAny;
                        input: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TAny, import("@sinclair/typebox").TString]>, any>>;
                        loop: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>;
                }>[]>>>;
                connections: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                    source: import("@sinclair/typebox").TString;
                    target: import("@sinclair/typebox").TString;
                    config: import("@sinclair/typebox").TObject<{
                        condition: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"success">;
                        }>, import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"error">;
                        }>, import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"matches">;
                            path: import("@sinclair/typebox").TString;
                            value: import("@sinclair/typebox").TString;
                        }>]>>;
                        max_retries: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                    }>;
                }>>>;
                start_task: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                responding_task: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            }>>;
        }>;
        data: import("@sinclair/typebox").TObject<{
            enabled: import("@sinclair/typebox").TBoolean;
            basepath: import("@sinclair/typebox").TString;
            entity_name: import("@sinclair/typebox").TString;
            storage: import("@sinclair/typebox").TObject<{
                body_max_size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
            }>;
            adapter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TLiteral<string>;
                config: import("@sinclair/typebox").TObject<import("@sinclair/typebox").TProperties>;
            }>[]>>;
        }> | import("@sinclair/typebox").TObject<{
            enabled: import("@sinclair/typebox").TBoolean;
            basepath: import("@sinclair/typebox").TString;
            entity_name: import("@sinclair/typebox").TString;
            allow_register: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            jwt: import("@sinclair/typebox").TObject<{
                secret: import("@sinclair/typebox").TString;
                alg: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"HS256" | "HS384" | "HS512">>;
                expires: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                issuer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
            }>;
            cookie: import("@sinclair/typebox").TObject<{
                path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                sameSite: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"strict" | "lax" | "none">>;
                secure: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                httpOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                expires: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                renew: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                pathSuccess: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                pathLoggedOut: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            }>;
            strategies: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                type: import("@sinclair/typebox").TLiteral<"password"> | import("@sinclair/typebox").TLiteral<"oauth"> | import("@sinclair/typebox").TLiteral<"custom_oauth">;
                config: import("@sinclair/typebox").TObject<{
                    hashing: import("@sinclair/typebox").TUnsafe<"plain" | "sha256" | "bcrypt">;
                    rounds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                }> | import("@sinclair/typebox").TObject<{
                    name: import("@sinclair/typebox").TUnsafe<"google" | "github">;
                    type: import("@sinclair/typebox").TUnsafe<"oidc" | "oauth2">;
                    client: import("@sinclair/typebox").TObject<{
                        client_id: import("@sinclair/typebox").TString;
                        client_secret: import("@sinclair/typebox").TString;
                    }>;
                }> | import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TUnsafe<"oidc" | "oauth2">;
                    name: import("@sinclair/typebox").TString;
                    client: import("@sinclair/typebox").TObject<{
                        client_id: import("@sinclair/typebox").TString;
                        client_secret: import("@sinclair/typebox").TString;
                        token_endpoint_auth_method: import("@sinclair/typebox").TUnsafe<"client_secret_basic">;
                    }>;
                    as: import("@sinclair/typebox").TObject<{
                        issuer: import("@sinclair/typebox").TString;
                        code_challenge_methods_supported: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"S256">>;
                        scopes_supported: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                        scope_separator: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        authorization_endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        token_endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        userinfo_endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    }>;
                }>;
            }>[]>>>;
            guard: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            }>>;
            roles: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                permissions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                is_default: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                implicit_allow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            }>>>;
        }> | import("@sinclair/typebox").TObject<{
            cors: import("@sinclair/typebox").TObject<{
                origin: import("@sinclair/typebox").TString;
                allow_methods: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<string>>;
                allow_headers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
            }>;
        }> | import("@sinclair/typebox").TObject<{
            basepath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            default_primary_format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
            entities: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    name_singular: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    sort_field: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    sort_dir: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"asc" | "desc">>;
                    primary_format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
                }>>;
                fields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TLiteral<"number"> | import("@sinclair/typebox").TLiteral<"boolean"> | import("@sinclair/typebox").TLiteral<"json"> | import("@sinclair/typebox").TLiteral<"text"> | import("@sinclair/typebox").TLiteral<"media"> | import("@sinclair/typebox").TLiteral<"enum"> | import("@sinclair/typebox").TLiteral<"date"> | import("@sinclair/typebox").TLiteral<"primary"> | import("@sinclair/typebox").TLiteral<"relation"> | import("@sinclair/typebox").TLiteral<"jsonschema">;
                    config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>>;
                        minLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        maxLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        pattern: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        html_config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                            element: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                            props: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>;
                        }>>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TAny]>>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TAny]>>;
                        minimum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        maximum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        exclusiveMinimum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        exclusiveMaximum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        multipleOf: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        type: import("@sinclair/typebox").TUnsafe<"date" | "week" | "datetime">;
                        timezone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        min_date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        max_date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        reference: import("@sinclair/typebox").TString;
                        target: import("@sinclair/typebox").TString;
                        target_field: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        target_field_type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"text" | "integer">>;
                        on_delete: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"no action" | "restrict" | "cascade" | "set null" | "set default">>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<false>>;
                        format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        entity: import("@sinclair/typebox").TString;
                        min_items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        max_items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        mime_types: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>>;
                        options: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"strings">;
                            values: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
                        }>, import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"objects">;
                            values: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
                                label: import("@sinclair/typebox").TString;
                                value: import("@sinclair/typebox").TString;
                            }>>;
                        }>]>>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        schema: import("@sinclair/typebox").TObject<{}>;
                        ui_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>;
                        default_from_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>>;
                }>[]>>>;
            }>>>;
            relations: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TLiteral<string>;
                source: import("@sinclair/typebox").TString;
                target: import("@sinclair/typebox").TString;
                config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    connectionTable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    connectionTableMappedName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    sourceCardinality: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                    with_limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                    fieldConfig: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        label: import("@sinclair/typebox").TString;
                    }>>;
                }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    targetCardinality: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                }>>;
            }>[]>>>;
            indices: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                entity: import("@sinclair/typebox").TString;
                fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
                unique: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            }>>>;
        }> | import("@sinclair/typebox").TObject<{
            basepath: import("@sinclair/typebox").TString;
            flows: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                trigger: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TLiteral<"manual" | "event" | "http">;
                    config: import("@sinclair/typebox").TObject<{
                        mode: import("@sinclair/typebox").TUnsafe<"sync" | "async">;
                    }> | import("@sinclair/typebox").TObject<{
                        mode: import("@sinclair/typebox").TUnsafe<"sync" | "async">;
                        event: import("@sinclair/typebox").TString;
                    }> | import("@sinclair/typebox").TObject<{
                        mode: import("@sinclair/typebox").TUnsafe<"sync" | "async">;
                        path: import("@sinclair/typebox").TString;
                        method: import("@sinclair/typebox").TUnsafe<"GET" | "POST" | "PATCH" | "PUT" | "DELETE">;
                        response_type: import("@sinclair/typebox").TUnsafe<"json" | "text" | "html">;
                    }>;
                }>[]>;
                tasks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TLiteral<"log" | "fetch" | "render" | "subflow">;
                    params: import("@sinclair/typebox").TObject<{
                        url: import("@sinclair/typebox").TString;
                        method: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TUnsafe<string>, import("@sinclair/typebox").TString]>, string>>;
                        headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
                            key: import("@sinclair/typebox").TString;
                            value: import("@sinclair/typebox").TString;
                        }>>, import("@sinclair/typebox").TString]>, {
                            key: string;
                            value: string;
                        }[]>>;
                        body: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TString, import("@sinclair/typebox").TString]>, string>>;
                        normal: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>, number>>;
                    }> | import("@sinclair/typebox").TObject<{
                        delay: import("@sinclair/typebox").TNumber;
                    }> | import("@sinclair/typebox").TObject<{
                        render: import("@sinclair/typebox").TString;
                    }> | import("@sinclair/typebox").TObject<{
                        flow: import("@sinclair/typebox").TAny;
                        input: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TAny, import("@sinclair/typebox").TString]>, any>>;
                        loop: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>;
                }>[]>>>;
                connections: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                    source: import("@sinclair/typebox").TString;
                    target: import("@sinclair/typebox").TString;
                    config: import("@sinclair/typebox").TObject<{
                        condition: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"success">;
                        }>, import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"error">;
                        }>, import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"matches">;
                            path: import("@sinclair/typebox").TString;
                            value: import("@sinclair/typebox").TString;
                        }>]>>;
                        max_retries: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                    }>;
                }>>>;
                start_task: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                responding_task: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            }>>;
        }>;
        auth: import("@sinclair/typebox").TObject<{
            enabled: import("@sinclair/typebox").TBoolean;
            basepath: import("@sinclair/typebox").TString;
            entity_name: import("@sinclair/typebox").TString;
            storage: import("@sinclair/typebox").TObject<{
                body_max_size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
            }>;
            adapter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TLiteral<string>;
                config: import("@sinclair/typebox").TObject<import("@sinclair/typebox").TProperties>;
            }>[]>>;
        }> | import("@sinclair/typebox").TObject<{
            enabled: import("@sinclair/typebox").TBoolean;
            basepath: import("@sinclair/typebox").TString;
            entity_name: import("@sinclair/typebox").TString;
            allow_register: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            jwt: import("@sinclair/typebox").TObject<{
                secret: import("@sinclair/typebox").TString;
                alg: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"HS256" | "HS384" | "HS512">>;
                expires: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                issuer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
            }>;
            cookie: import("@sinclair/typebox").TObject<{
                path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                sameSite: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"strict" | "lax" | "none">>;
                secure: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                httpOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                expires: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                renew: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                pathSuccess: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                pathLoggedOut: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            }>;
            strategies: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                type: import("@sinclair/typebox").TLiteral<"password"> | import("@sinclair/typebox").TLiteral<"oauth"> | import("@sinclair/typebox").TLiteral<"custom_oauth">;
                config: import("@sinclair/typebox").TObject<{
                    hashing: import("@sinclair/typebox").TUnsafe<"plain" | "sha256" | "bcrypt">;
                    rounds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                }> | import("@sinclair/typebox").TObject<{
                    name: import("@sinclair/typebox").TUnsafe<"google" | "github">;
                    type: import("@sinclair/typebox").TUnsafe<"oidc" | "oauth2">;
                    client: import("@sinclair/typebox").TObject<{
                        client_id: import("@sinclair/typebox").TString;
                        client_secret: import("@sinclair/typebox").TString;
                    }>;
                }> | import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TUnsafe<"oidc" | "oauth2">;
                    name: import("@sinclair/typebox").TString;
                    client: import("@sinclair/typebox").TObject<{
                        client_id: import("@sinclair/typebox").TString;
                        client_secret: import("@sinclair/typebox").TString;
                        token_endpoint_auth_method: import("@sinclair/typebox").TUnsafe<"client_secret_basic">;
                    }>;
                    as: import("@sinclair/typebox").TObject<{
                        issuer: import("@sinclair/typebox").TString;
                        code_challenge_methods_supported: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"S256">>;
                        scopes_supported: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                        scope_separator: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        authorization_endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        token_endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        userinfo_endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    }>;
                }>;
            }>[]>>>;
            guard: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            }>>;
            roles: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                permissions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                is_default: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                implicit_allow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            }>>>;
        }> | import("@sinclair/typebox").TObject<{
            cors: import("@sinclair/typebox").TObject<{
                origin: import("@sinclair/typebox").TString;
                allow_methods: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<string>>;
                allow_headers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
            }>;
        }> | import("@sinclair/typebox").TObject<{
            basepath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            default_primary_format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
            entities: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    name_singular: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    sort_field: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    sort_dir: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"asc" | "desc">>;
                    primary_format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
                }>>;
                fields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TLiteral<"number"> | import("@sinclair/typebox").TLiteral<"boolean"> | import("@sinclair/typebox").TLiteral<"json"> | import("@sinclair/typebox").TLiteral<"text"> | import("@sinclair/typebox").TLiteral<"media"> | import("@sinclair/typebox").TLiteral<"enum"> | import("@sinclair/typebox").TLiteral<"date"> | import("@sinclair/typebox").TLiteral<"primary"> | import("@sinclair/typebox").TLiteral<"relation"> | import("@sinclair/typebox").TLiteral<"jsonschema">;
                    config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>>;
                        minLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        maxLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        pattern: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        html_config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                            element: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                            props: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>;
                        }>>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TAny]>>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TAny]>>;
                        minimum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        maximum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        exclusiveMinimum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        exclusiveMaximum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        multipleOf: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        type: import("@sinclair/typebox").TUnsafe<"date" | "week" | "datetime">;
                        timezone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        min_date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        max_date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        reference: import("@sinclair/typebox").TString;
                        target: import("@sinclair/typebox").TString;
                        target_field: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        target_field_type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"text" | "integer">>;
                        on_delete: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"no action" | "restrict" | "cascade" | "set null" | "set default">>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<false>>;
                        format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        entity: import("@sinclair/typebox").TString;
                        min_items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        max_items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        mime_types: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>>;
                        options: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"strings">;
                            values: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
                        }>, import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"objects">;
                            values: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
                                label: import("@sinclair/typebox").TString;
                                value: import("@sinclair/typebox").TString;
                            }>>;
                        }>]>>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        schema: import("@sinclair/typebox").TObject<{}>;
                        ui_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>;
                        default_from_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>>;
                }>[]>>>;
            }>>>;
            relations: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TLiteral<string>;
                source: import("@sinclair/typebox").TString;
                target: import("@sinclair/typebox").TString;
                config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    connectionTable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    connectionTableMappedName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    sourceCardinality: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                    with_limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                    fieldConfig: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        label: import("@sinclair/typebox").TString;
                    }>>;
                }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    targetCardinality: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                }>>;
            }>[]>>>;
            indices: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                entity: import("@sinclair/typebox").TString;
                fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
                unique: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            }>>>;
        }> | import("@sinclair/typebox").TObject<{
            basepath: import("@sinclair/typebox").TString;
            flows: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                trigger: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TLiteral<"manual" | "event" | "http">;
                    config: import("@sinclair/typebox").TObject<{
                        mode: import("@sinclair/typebox").TUnsafe<"sync" | "async">;
                    }> | import("@sinclair/typebox").TObject<{
                        mode: import("@sinclair/typebox").TUnsafe<"sync" | "async">;
                        event: import("@sinclair/typebox").TString;
                    }> | import("@sinclair/typebox").TObject<{
                        mode: import("@sinclair/typebox").TUnsafe<"sync" | "async">;
                        path: import("@sinclair/typebox").TString;
                        method: import("@sinclair/typebox").TUnsafe<"GET" | "POST" | "PATCH" | "PUT" | "DELETE">;
                        response_type: import("@sinclair/typebox").TUnsafe<"json" | "text" | "html">;
                    }>;
                }>[]>;
                tasks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TLiteral<"log" | "fetch" | "render" | "subflow">;
                    params: import("@sinclair/typebox").TObject<{
                        url: import("@sinclair/typebox").TString;
                        method: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TUnsafe<string>, import("@sinclair/typebox").TString]>, string>>;
                        headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
                            key: import("@sinclair/typebox").TString;
                            value: import("@sinclair/typebox").TString;
                        }>>, import("@sinclair/typebox").TString]>, {
                            key: string;
                            value: string;
                        }[]>>;
                        body: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TString, import("@sinclair/typebox").TString]>, string>>;
                        normal: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>, number>>;
                    }> | import("@sinclair/typebox").TObject<{
                        delay: import("@sinclair/typebox").TNumber;
                    }> | import("@sinclair/typebox").TObject<{
                        render: import("@sinclair/typebox").TString;
                    }> | import("@sinclair/typebox").TObject<{
                        flow: import("@sinclair/typebox").TAny;
                        input: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TAny, import("@sinclair/typebox").TString]>, any>>;
                        loop: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>;
                }>[]>>>;
                connections: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                    source: import("@sinclair/typebox").TString;
                    target: import("@sinclair/typebox").TString;
                    config: import("@sinclair/typebox").TObject<{
                        condition: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"success">;
                        }>, import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"error">;
                        }>, import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"matches">;
                            path: import("@sinclair/typebox").TString;
                            value: import("@sinclair/typebox").TString;
                        }>]>>;
                        max_retries: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                    }>;
                }>>>;
                start_task: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                responding_task: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            }>>;
        }>;
        media: import("@sinclair/typebox").TObject<{
            enabled: import("@sinclair/typebox").TBoolean;
            basepath: import("@sinclair/typebox").TString;
            entity_name: import("@sinclair/typebox").TString;
            storage: import("@sinclair/typebox").TObject<{
                body_max_size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
            }>;
            adapter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TLiteral<string>;
                config: import("@sinclair/typebox").TObject<import("@sinclair/typebox").TProperties>;
            }>[]>>;
        }> | import("@sinclair/typebox").TObject<{
            enabled: import("@sinclair/typebox").TBoolean;
            basepath: import("@sinclair/typebox").TString;
            entity_name: import("@sinclair/typebox").TString;
            allow_register: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            jwt: import("@sinclair/typebox").TObject<{
                secret: import("@sinclair/typebox").TString;
                alg: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"HS256" | "HS384" | "HS512">>;
                expires: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                issuer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
            }>;
            cookie: import("@sinclair/typebox").TObject<{
                path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                sameSite: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"strict" | "lax" | "none">>;
                secure: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                httpOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                expires: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                renew: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                pathSuccess: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                pathLoggedOut: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            }>;
            strategies: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                type: import("@sinclair/typebox").TLiteral<"password"> | import("@sinclair/typebox").TLiteral<"oauth"> | import("@sinclair/typebox").TLiteral<"custom_oauth">;
                config: import("@sinclair/typebox").TObject<{
                    hashing: import("@sinclair/typebox").TUnsafe<"plain" | "sha256" | "bcrypt">;
                    rounds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                }> | import("@sinclair/typebox").TObject<{
                    name: import("@sinclair/typebox").TUnsafe<"google" | "github">;
                    type: import("@sinclair/typebox").TUnsafe<"oidc" | "oauth2">;
                    client: import("@sinclair/typebox").TObject<{
                        client_id: import("@sinclair/typebox").TString;
                        client_secret: import("@sinclair/typebox").TString;
                    }>;
                }> | import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TUnsafe<"oidc" | "oauth2">;
                    name: import("@sinclair/typebox").TString;
                    client: import("@sinclair/typebox").TObject<{
                        client_id: import("@sinclair/typebox").TString;
                        client_secret: import("@sinclair/typebox").TString;
                        token_endpoint_auth_method: import("@sinclair/typebox").TUnsafe<"client_secret_basic">;
                    }>;
                    as: import("@sinclair/typebox").TObject<{
                        issuer: import("@sinclair/typebox").TString;
                        code_challenge_methods_supported: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"S256">>;
                        scopes_supported: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                        scope_separator: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        authorization_endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        token_endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        userinfo_endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    }>;
                }>;
            }>[]>>>;
            guard: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            }>>;
            roles: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                permissions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                is_default: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                implicit_allow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            }>>>;
        }> | import("@sinclair/typebox").TObject<{
            cors: import("@sinclair/typebox").TObject<{
                origin: import("@sinclair/typebox").TString;
                allow_methods: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<string>>;
                allow_headers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
            }>;
        }> | import("@sinclair/typebox").TObject<{
            basepath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            default_primary_format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
            entities: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    name_singular: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    sort_field: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    sort_dir: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"asc" | "desc">>;
                    primary_format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
                }>>;
                fields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TLiteral<"number"> | import("@sinclair/typebox").TLiteral<"boolean"> | import("@sinclair/typebox").TLiteral<"json"> | import("@sinclair/typebox").TLiteral<"text"> | import("@sinclair/typebox").TLiteral<"media"> | import("@sinclair/typebox").TLiteral<"enum"> | import("@sinclair/typebox").TLiteral<"date"> | import("@sinclair/typebox").TLiteral<"primary"> | import("@sinclair/typebox").TLiteral<"relation"> | import("@sinclair/typebox").TLiteral<"jsonschema">;
                    config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>>;
                        minLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        maxLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        pattern: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        html_config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                            element: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                            props: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>;
                        }>>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TAny]>>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TAny]>>;
                        minimum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        maximum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        exclusiveMinimum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        exclusiveMaximum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        multipleOf: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        type: import("@sinclair/typebox").TUnsafe<"date" | "week" | "datetime">;
                        timezone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        min_date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        max_date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        reference: import("@sinclair/typebox").TString;
                        target: import("@sinclair/typebox").TString;
                        target_field: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        target_field_type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"text" | "integer">>;
                        on_delete: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"no action" | "restrict" | "cascade" | "set null" | "set default">>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<false>>;
                        format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        entity: import("@sinclair/typebox").TString;
                        min_items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        max_items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        mime_types: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>>;
                        options: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"strings">;
                            values: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
                        }>, import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"objects">;
                            values: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
                                label: import("@sinclair/typebox").TString;
                                value: import("@sinclair/typebox").TString;
                            }>>;
                        }>]>>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        schema: import("@sinclair/typebox").TObject<{}>;
                        ui_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>;
                        default_from_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>>;
                }>[]>>>;
            }>>>;
            relations: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TLiteral<string>;
                source: import("@sinclair/typebox").TString;
                target: import("@sinclair/typebox").TString;
                config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    connectionTable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    connectionTableMappedName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    sourceCardinality: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                    with_limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                    fieldConfig: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        label: import("@sinclair/typebox").TString;
                    }>>;
                }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    targetCardinality: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                }>>;
            }>[]>>>;
            indices: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                entity: import("@sinclair/typebox").TString;
                fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
                unique: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            }>>>;
        }> | import("@sinclair/typebox").TObject<{
            basepath: import("@sinclair/typebox").TString;
            flows: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                trigger: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TLiteral<"manual" | "event" | "http">;
                    config: import("@sinclair/typebox").TObject<{
                        mode: import("@sinclair/typebox").TUnsafe<"sync" | "async">;
                    }> | import("@sinclair/typebox").TObject<{
                        mode: import("@sinclair/typebox").TUnsafe<"sync" | "async">;
                        event: import("@sinclair/typebox").TString;
                    }> | import("@sinclair/typebox").TObject<{
                        mode: import("@sinclair/typebox").TUnsafe<"sync" | "async">;
                        path: import("@sinclair/typebox").TString;
                        method: import("@sinclair/typebox").TUnsafe<"GET" | "POST" | "PATCH" | "PUT" | "DELETE">;
                        response_type: import("@sinclair/typebox").TUnsafe<"json" | "text" | "html">;
                    }>;
                }>[]>;
                tasks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TLiteral<"log" | "fetch" | "render" | "subflow">;
                    params: import("@sinclair/typebox").TObject<{
                        url: import("@sinclair/typebox").TString;
                        method: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TUnsafe<string>, import("@sinclair/typebox").TString]>, string>>;
                        headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
                            key: import("@sinclair/typebox").TString;
                            value: import("@sinclair/typebox").TString;
                        }>>, import("@sinclair/typebox").TString]>, {
                            key: string;
                            value: string;
                        }[]>>;
                        body: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TString, import("@sinclair/typebox").TString]>, string>>;
                        normal: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>, number>>;
                    }> | import("@sinclair/typebox").TObject<{
                        delay: import("@sinclair/typebox").TNumber;
                    }> | import("@sinclair/typebox").TObject<{
                        render: import("@sinclair/typebox").TString;
                    }> | import("@sinclair/typebox").TObject<{
                        flow: import("@sinclair/typebox").TAny;
                        input: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TAny, import("@sinclair/typebox").TString]>, any>>;
                        loop: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>;
                }>[]>>>;
                connections: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                    source: import("@sinclair/typebox").TString;
                    target: import("@sinclair/typebox").TString;
                    config: import("@sinclair/typebox").TObject<{
                        condition: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"success">;
                        }>, import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"error">;
                        }>, import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"matches">;
                            path: import("@sinclair/typebox").TString;
                            value: import("@sinclair/typebox").TString;
                        }>]>>;
                        max_retries: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                    }>;
                }>>>;
                start_task: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                responding_task: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            }>>;
        }>;
        flows: import("@sinclair/typebox").TObject<{
            enabled: import("@sinclair/typebox").TBoolean;
            basepath: import("@sinclair/typebox").TString;
            entity_name: import("@sinclair/typebox").TString;
            storage: import("@sinclair/typebox").TObject<{
                body_max_size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
            }>;
            adapter: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TLiteral<string>;
                config: import("@sinclair/typebox").TObject<import("@sinclair/typebox").TProperties>;
            }>[]>>;
        }> | import("@sinclair/typebox").TObject<{
            enabled: import("@sinclair/typebox").TBoolean;
            basepath: import("@sinclair/typebox").TString;
            entity_name: import("@sinclair/typebox").TString;
            allow_register: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            jwt: import("@sinclair/typebox").TObject<{
                secret: import("@sinclair/typebox").TString;
                alg: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"HS256" | "HS384" | "HS512">>;
                expires: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                issuer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
            }>;
            cookie: import("@sinclair/typebox").TObject<{
                path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                sameSite: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"strict" | "lax" | "none">>;
                secure: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                httpOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                expires: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                renew: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                pathSuccess: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                pathLoggedOut: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            }>;
            strategies: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                type: import("@sinclair/typebox").TLiteral<"password"> | import("@sinclair/typebox").TLiteral<"oauth"> | import("@sinclair/typebox").TLiteral<"custom_oauth">;
                config: import("@sinclair/typebox").TObject<{
                    hashing: import("@sinclair/typebox").TUnsafe<"plain" | "sha256" | "bcrypt">;
                    rounds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                }> | import("@sinclair/typebox").TObject<{
                    name: import("@sinclair/typebox").TUnsafe<"google" | "github">;
                    type: import("@sinclair/typebox").TUnsafe<"oidc" | "oauth2">;
                    client: import("@sinclair/typebox").TObject<{
                        client_id: import("@sinclair/typebox").TString;
                        client_secret: import("@sinclair/typebox").TString;
                    }>;
                }> | import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TUnsafe<"oidc" | "oauth2">;
                    name: import("@sinclair/typebox").TString;
                    client: import("@sinclair/typebox").TObject<{
                        client_id: import("@sinclair/typebox").TString;
                        client_secret: import("@sinclair/typebox").TString;
                        token_endpoint_auth_method: import("@sinclair/typebox").TUnsafe<"client_secret_basic">;
                    }>;
                    as: import("@sinclair/typebox").TObject<{
                        issuer: import("@sinclair/typebox").TString;
                        code_challenge_methods_supported: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"S256">>;
                        scopes_supported: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                        scope_separator: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        authorization_endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        token_endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        userinfo_endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    }>;
                }>;
            }>[]>>>;
            guard: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            }>>;
            roles: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                permissions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                is_default: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                implicit_allow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            }>>>;
        }> | import("@sinclair/typebox").TObject<{
            cors: import("@sinclair/typebox").TObject<{
                origin: import("@sinclair/typebox").TString;
                allow_methods: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<string>>;
                allow_headers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
            }>;
        }> | import("@sinclair/typebox").TObject<{
            basepath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            default_primary_format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
            entities: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    name_singular: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    sort_field: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    sort_dir: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"asc" | "desc">>;
                    primary_format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
                }>>;
                fields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TLiteral<"number"> | import("@sinclair/typebox").TLiteral<"boolean"> | import("@sinclair/typebox").TLiteral<"json"> | import("@sinclair/typebox").TLiteral<"text"> | import("@sinclair/typebox").TLiteral<"media"> | import("@sinclair/typebox").TLiteral<"enum"> | import("@sinclair/typebox").TLiteral<"date"> | import("@sinclair/typebox").TLiteral<"primary"> | import("@sinclair/typebox").TLiteral<"relation"> | import("@sinclair/typebox").TLiteral<"jsonschema">;
                    config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>>;
                        minLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        maxLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        pattern: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        html_config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                            element: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                            props: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>;
                        }>>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TAny]>>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TAny]>>;
                        minimum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        maximum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        exclusiveMinimum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        exclusiveMaximum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        multipleOf: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        type: import("@sinclair/typebox").TUnsafe<"date" | "week" | "datetime">;
                        timezone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        min_date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        max_date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        reference: import("@sinclair/typebox").TString;
                        target: import("@sinclair/typebox").TString;
                        target_field: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        target_field_type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"text" | "integer">>;
                        on_delete: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"no action" | "restrict" | "cascade" | "set null" | "set default">>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<false>>;
                        format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        entity: import("@sinclair/typebox").TString;
                        min_items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        max_items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                        mime_types: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>>;
                        options: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"strings">;
                            values: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
                        }>, import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"objects">;
                            values: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
                                label: import("@sinclair/typebox").TString;
                                value: import("@sinclair/typebox").TString;
                            }>>;
                        }>]>>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        schema: import("@sinclair/typebox").TObject<{}>;
                        ui_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>;
                        default_from_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
                        required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                        description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                        fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
                        hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
                        virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>>;
                }>[]>>>;
            }>>>;
            relations: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                type: import("@sinclair/typebox").TLiteral<string>;
                source: import("@sinclair/typebox").TString;
                target: import("@sinclair/typebox").TString;
                config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    connectionTable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    connectionTableMappedName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    sourceCardinality: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                    with_limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                    fieldConfig: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                        label: import("@sinclair/typebox").TString;
                    }>>;
                }>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
                    required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                    targetCardinality: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                }>>;
            }>[]>>>;
            indices: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                entity: import("@sinclair/typebox").TString;
                fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
                unique: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
            }>>>;
        }> | import("@sinclair/typebox").TObject<{
            basepath: import("@sinclair/typebox").TString;
            flows: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                trigger: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TLiteral<"manual" | "event" | "http">;
                    config: import("@sinclair/typebox").TObject<{
                        mode: import("@sinclair/typebox").TUnsafe<"sync" | "async">;
                    }> | import("@sinclair/typebox").TObject<{
                        mode: import("@sinclair/typebox").TUnsafe<"sync" | "async">;
                        event: import("@sinclair/typebox").TString;
                    }> | import("@sinclair/typebox").TObject<{
                        mode: import("@sinclair/typebox").TUnsafe<"sync" | "async">;
                        path: import("@sinclair/typebox").TString;
                        method: import("@sinclair/typebox").TUnsafe<"GET" | "POST" | "PATCH" | "PUT" | "DELETE">;
                        response_type: import("@sinclair/typebox").TUnsafe<"json" | "text" | "html">;
                    }>;
                }>[]>;
                tasks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
                    type: import("@sinclair/typebox").TLiteral<"log" | "fetch" | "render" | "subflow">;
                    params: import("@sinclair/typebox").TObject<{
                        url: import("@sinclair/typebox").TString;
                        method: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TUnsafe<string>, import("@sinclair/typebox").TString]>, string>>;
                        headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
                            key: import("@sinclair/typebox").TString;
                            value: import("@sinclair/typebox").TString;
                        }>>, import("@sinclair/typebox").TString]>, {
                            key: string;
                            value: string;
                        }[]>>;
                        body: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TString, import("@sinclair/typebox").TString]>, string>>;
                        normal: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>, number>>;
                    }> | import("@sinclair/typebox").TObject<{
                        delay: import("@sinclair/typebox").TNumber;
                    }> | import("@sinclair/typebox").TObject<{
                        render: import("@sinclair/typebox").TString;
                    }> | import("@sinclair/typebox").TObject<{
                        flow: import("@sinclair/typebox").TAny;
                        input: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[{
                            title: string;
                        } & import("@sinclair/typebox").TAny, import("@sinclair/typebox").TString]>, any>>;
                        loop: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
                    }>;
                }>[]>>>;
                connections: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
                    source: import("@sinclair/typebox").TString;
                    target: import("@sinclair/typebox").TString;
                    config: import("@sinclair/typebox").TObject<{
                        condition: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"success">;
                        }>, import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"error">;
                        }>, import("@sinclair/typebox").TObject<{
                            type: import("@sinclair/typebox").TLiteral<"matches">;
                            path: import("@sinclair/typebox").TString;
                            value: import("@sinclair/typebox").TString;
                        }>]>>;
                        max_retries: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
                    }>;
                }>>>;
                start_task: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
                responding_task: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
            }>>;
        }>;
        version: number;
    };
    version(): number;
    isBuilt(): boolean;
    registerAdminController(config?: AdminControllerOptions): this;
    toJSON(secrets?: boolean): {
        version: number;
    } & ModuleConfigs;
    static create(config: CreateAppConfig): App;
    createUser(p: CreateUserPayload): Promise<import("./core").Users>;
    getApi(options?: LocalApiOptions): Api;
    onUpdated<Module extends keyof Modules>(module: Module, config: ModuleConfigs[Module]): Promise<void>;
    onFirstBoot(): Promise<void>;
    onServerInit(server: Hono<ServerEnv>): Promise<void>;
}
export declare function createApp(config?: CreateAppConfig): App;
export {};
