import { FormControl } from '@angular/forms';
import { MatDialogRef } from '@angular/material/dialog';
import { ISelectOption } from '@metad/ocap-angular/core';
import { DSCoreService, EntitySet } from '@metad/ocap-core';
import * as i0 from "@angular/core";
export type EntitySelectResultType = {
    modelId: string;
    dataSource: string;
    entities: string[];
};
export type EntitySelectDataType = {
    dataSources: ISelectOption<string>[];
    dsCoreService: DSCoreService;
    registerModel?: (key: string) => Promise<void>;
};
export declare class NgmEntityDialogComponent {
    #private;
    readonly data: EntitySelectDataType;
    readonly dialogRef: MatDialogRef<NgmEntityDialogComponent, EntitySelectResultType>;
    readonly modelKey: import("@angular/core").ModelSignal<string>;
    readonly search: FormControl<string>;
    readonly loading: import("@angular/core").WritableSignal<boolean>;
    readonly entities$: import("rxjs").Observable<{
        value: import("@metad/ocap-core").MDCube;
        key: string;
        caption: string;
    }[]>;
    readonly entities: import("@angular/core").ModelSignal<string[]>;
    constructor();
    onApply(): void;
    trackByKey(index: number, item: ISelectOption<EntitySet>): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgmEntityDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgmEntityDialogComponent, "ngm-entity-dialog", never, { "modelKey": { "alias": "modelKey"; "required": false; "isSignal": true; }; "entities": { "alias": "entities"; "required": false; "isSignal": true; }; }, { "modelKey": "modelKeyChange"; "entities": "entitiesChange"; }, never, never, true, never>;
}
