/**
 * @module database-create-wizard.component
 * @description Multi-step wizard for creating a new Database Designer entity.
 *
 * Rendered inside an `mj-slide-panel` by the dashboard.  Manages step routing
 * and owns one `EntityWizardStateService` instance for the duration the panel
 * is open.
 *
 * Wizard steps:
 *   1  Basics       — entity name, table name, schema, description
 *   2  Fields       — column definitions (EntityFieldsGridComponent)
 *   3  Relationships — optional foreign keys
 *   4  Review       — read-only schema preview + server-side validation
 *   5  Create       — pipeline execution + result (EntityPipelinePanelComponent)
 *
 * Step 5 is terminal — once the pipeline starts there is no Back navigation.
 */
import { EventEmitter, OnDestroy } from '@angular/core';
import { EntityWizardStateService } from '../../services/entity-wizard-state.service.js';
import type { WizardStep, WizardStepDef, BasicsStepValue, ColumnSpec, ForeignKeySpec, EntityPipelineResult, SchemaOption } from '../../database-designer.types.js';
import * as i0 from "@angular/core";
export declare class DatabaseCreateWizardComponent implements OnDestroy {
    private readonly designerService;
    private readonly cdr;
    readonly WizardState: EntityWizardStateService;
    /** Emitted when the wizard completes successfully. */
    readonly EntityCreated: EventEmitter<EntityPipelineResult>;
    /** Emitted when the user cancels or clicks "Create Another". */
    readonly Cancelled: EventEmitter<void>;
    private stepPipelineRef?;
    CurrentStep: WizardStep;
    StepDefs: WizardStepDef[];
    IsValidating: boolean;
    ValidationErrors: string[];
    /** True once the user has clicked "Create Entity" — pipeline runs inline on the review step. */
    IsExecuting: boolean;
    get StepIndex(): number;
    get IsFirstStep(): boolean;
    get IsLastStep(): boolean;
    private readonly destroy$;
    AvailableSchemas: SchemaOption[];
    constructor();
    ngOnDestroy(): void;
    OnBasicsChanged(value: BasicsStepValue): void;
    OnFieldsChanged(columns: ColumnSpec[]): void;
    OnRelationshipsChanged(fks: ForeignKeySpec[]): void;
    OnNext(): Promise<void>;
    OnBack(): void;
    OnCancel(): void;
    /** Re-run server-side schema validation without advancing the step. */
    OnRetryValidation(): Promise<void>;
    /** Clear the current validation errors without re-running validation. */
    OnDismissErrors(): void;
    OnPipelineCompleted(result: EntityPipelineResult): void;
    OnPipelineErrored(_msg: string): void;
    OnCreateAnother(): void;
    get TableDefinition(): Partial<import("../../database-designer.types.js").EntityTableSpec>;
    TrackByStep(_: number, def: WizardStepDef): string;
    private advanceToStep;
    private rebuildStepDefs;
    static ɵfac: i0.ɵɵFactoryDeclaration<DatabaseCreateWizardComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DatabaseCreateWizardComponent, "mj-database-create-wizard", never, {}, { "EntityCreated": "EntityCreated"; "Cancelled": "Cancelled"; }, never, never, false, never>;
}
//# sourceMappingURL=database-create-wizard.component.d.ts.map