import type { EditorSDLCState } from '../EditorSDLCState.js';
import type { EditorStore } from '../EditorStore.js';
import { type ServiceRegistrationResult, type Service, ServiceRegistrationFail } from '@finos/legend-graph';
import { type GeneratorFn, ActionState } from '@finos/legend-shared';
import { ServiceConfigState } from '../editor-state/element-editor-state/service/ServiceRegistrationState.js';
import { type ServiceRegistrationEnvironmentConfig } from '../../../application/LegendStudioApplicationConfig.js';
export declare enum REGISTRATION_RESULT {
    DID_NOT_RUN = "DID_NOT_RUN",
    FAILED = "FAILED",
    SUCCESS = "SUCCESS",
    IN_PROGRESS = "IN_PROGRESS"
}
export declare const getServiceRegistrationResult: (isServiceRegistering: boolean, result: ServiceRegistrationResult | undefined) => REGISTRATION_RESULT;
export declare class BulkServiceRegistrationState {
    globalBulkServiceRegistrationState: GlobalBulkServiceRegistrationState;
    registrationResult: ServiceRegistrationResult | undefined;
    service: Service;
    showFailingView: boolean;
    isSelected: boolean;
    constructor(globalBulkServiceRegistrationState: GlobalBulkServiceRegistrationState, service: Service);
    toggleIsSelected(): void;
    setShowFailingView(val: boolean): void;
    handleRegistrationResult(registrationResult: ServiceRegistrationResult): void;
}
export declare class GlobalBulkServiceRegistrationState {
    readonly editorStore: EditorStore;
    readonly sdlcState: EditorSDLCState;
    bulkServiceRegistrationState: BulkServiceRegistrationState[] | undefined;
    serviceConfigState: ServiceConfigState;
    isServiceRegistering: ActionState;
    showRegistrationConfig: boolean;
    failingView: ServiceRegistrationFail | undefined;
    selectAllServices: boolean;
    activatePostRegistration: boolean;
    constructor(editorStore: EditorStore, sdlcState: EditorSDLCState);
    init(force?: boolean): void;
    toggleSelectAllServices(val: boolean): void;
    setSelectAll(val: boolean): void;
    setFailingView(val: ServiceRegistrationFail | undefined): void;
    setShowRegConfig(val: boolean): void;
    setActivatePostRegistration(val: boolean): void;
    get bulkServiceRegistrationStates(): BulkServiceRegistrationState[];
    registerServices(): GeneratorFn<void>;
    validateBulkServiceForRegistration(editorStore: EditorStore, services: Service[], registrationOptions: ServiceRegistrationEnvironmentConfig[], enableModesWithVersioning: boolean): void;
    handleResults(registrationResults: ServiceRegistrationResult[]): void;
}
//# sourceMappingURL=BulkServiceRegistrationState.d.ts.map