import * as Generator from '@postxl/generator';
import { WithActions } from '../backend-actions';
import { WithBackend } from '../backend-core';
import { WithView } from '../backend-view';
import { WithBase } from '../base';
import { WithTypes } from '../types';
type ContextRequirements = WithView<WithActions<WithTypes<WithBackend<WithBase<Generator.Context>>>>>;
export type ContextResult = WithAuthentication<ContextRequirements>;
export type WithAuthentication<Context> = Generator.ExtendContext<Context, {
    authentication: AuthenticationContext;
}>;
export type AuthenticationContext = {
    module: Generator.ImportableItem & {
        _filePath: Generator.FilePath;
    };
    guard: Generator.ImportableClass & {
        _filePath: Generator.FilePath;
    };
    service: Generator.ImportableClass & {
        _filePath: Generator.FilePath;
    };
    types: {
        userInfo: Generator.ImportableType;
        userRoles: Generator.ImportableType;
    };
};
export declare const generatorId: string & import("zod").BRAND<"PXL.GeneratorInterfaceId">;
export declare const generator: Generator.GeneratorInterface;
export {};
