import { AXPEntity, AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';
import * as i0 from '@angular/core';
import { Injector } from '@angular/core';
import { AXPEntityModel, AXMEntityCrudServiceImpl, AXPEntityDefinitionLoader } from '@acorex/platform/layout/entity';

declare const RootConfig: {
    config: {
        i18n: string;
    };
    module: {
        route: string;
        name: string;
        title: string;
        icon: string;
    };
    entities: {
        schedulerJob: {
            name: string;
            title: string;
            icon: string;
        };
    };
};

declare function schedulerJobFactory(injector: Injector): Promise<AXPEntity | null>;

declare class AXMSchedulerJobManagementSchedulerJobEntityModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXMSchedulerJobManagementSchedulerJobEntityModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXMSchedulerJobManagementSchedulerJobEntityModule, never, never, never>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXMSchedulerJobManagementSchedulerJobEntityModule>;
}

interface AXMSchedulerJobManagementSchedulerJobEntityModel extends AXPEntityModel<string> {
    name: string;
    title: string;
}

declare abstract class AXMSchedulerJobManagementSchedulerJobEntityService extends AXMEntityCrudServiceImpl<string, AXMSchedulerJobManagementSchedulerJobEntityModel> {
}
declare class AXMSchedulerJobManagementSchedulerJobEntityServiceImpl extends AXMSchedulerJobManagementSchedulerJobEntityService {
    constructor();
    static ɵfac: i0.ɵɵFactoryDeclaration<AXMSchedulerJobManagementSchedulerJobEntityServiceImpl, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AXMSchedulerJobManagementSchedulerJobEntityServiceImpl>;
}

declare class AXMSchedulerJobManagementModuleEntityProvider implements AXPEntityDefinitionLoader {
    private injector;
    get(moduleName: string, entityName: string): Promise<AXPEntity | null>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXMSchedulerJobManagementModuleEntityProvider, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AXMSchedulerJobManagementModuleEntityProvider>;
}

declare class AXMSchedulerJobManagementModuleMenuProvider implements AXPMenuProvider {
    private entityService;
    provide(context: AXPMenuProviderContext): Promise<void>;
}

declare class AXMSchedulerJobManagementModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXMSchedulerJobManagementModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXMSchedulerJobManagementModule, never, [typeof AXMSchedulerJobManagementSchedulerJobEntityModule], never>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXMSchedulerJobManagementModule>;
}

export { AXMSchedulerJobManagementModule, AXMSchedulerJobManagementModuleEntityProvider, AXMSchedulerJobManagementModuleMenuProvider, AXMSchedulerJobManagementSchedulerJobEntityModule, AXMSchedulerJobManagementSchedulerJobEntityService, AXMSchedulerJobManagementSchedulerJobEntityServiceImpl, RootConfig, schedulerJobFactory };
export type { AXMSchedulerJobManagementSchedulerJobEntityModel };
