import { ActiveRecord, ActiveRecords, DeleteActiveRecordsByEntityPredict, IPopupInstance, IPopupWidget, PushActiveRecordsPredict, RuntimeAction, UpdateActiveRecordsByEntityPredict, UpdateEntity, WidgetProps } from '@oinone/kunlun-engine';
import { VueWidget } from '@oinone/kunlun-vue-widget';
import { PopupEventHandles } from '../../typing';
export declare abstract class StaticPopupWidget<Props extends WidgetProps = WidgetProps> extends VueWidget<Props> implements IPopupWidget<Props> {
    private handlers;
    protected abstract getPopupScene(): string;
    protected get popupScene(): string;
    private visible;
    onOk(): void;
    onCancel(): true | undefined;
    get isVisible(): boolean;
    beforeClose: any;
    onVisibleChange<Action extends RuntimeAction = RuntimeAction>(visible: boolean, triggerAction?: Action): Promise<void>;
    private onNotify;
    on(type: keyof PopupEventHandles, handler: Function): void;
    protected findPopupInstance(): IPopupInstance<Props> | undefined;
    protected $$created(): void;
    dispose(): void;
    private currentRootData;
    get rootData(): ActiveRecord[] | undefined;
    set rootData(rootData: ActiveRecord[] | undefined);
    getCurrentRootData(): ActiveRecord[] | undefined;
    setCurrentRootData(rootData: ActiveRecords | undefined): void;
    private currentDataSource;
    get dataSource(): ActiveRecord[] | undefined;
    set dataSource(dataSource: ActiveRecord[] | undefined);
    getCurrentDataSource(): ActiveRecord[] | null | undefined;
    setCurrentDataSource(dataSource: ActiveRecords | null | undefined): void;
    reloadDataSource(records: ActiveRecords | undefined): void;
    pushDataSource(records: ActiveRecords, predict?: PushActiveRecordsPredict): void;
    updateDataSource(records: UpdateEntity[]): void;
    updateDataSourceByEntity(records: ActiveRecords, predict?: UpdateActiveRecordsByEntityPredict): void;
    deleteDataSource(recordIndexes: number[]): void;
    deleteDataSourceByEntity(records: ActiveRecords, predict?: DeleteActiveRecordsByEntityPredict): void;
    flushDataSource(): void;
    private currentActiveRecords;
    get activeRecords(): ActiveRecord[] | undefined;
    set activeRecords(activeRecords: ActiveRecord[] | undefined);
    getCurrentActiveRecords(): ActiveRecord[] | undefined;
    setCurrentActiveRecords(activeRecords: ActiveRecords | undefined): void;
    reloadActiveRecords(records: ActiveRecords | undefined): void;
    pushActiveRecords(records: ActiveRecords, predict?: PushActiveRecordsPredict): void;
    updateActiveRecords(records: UpdateEntity[]): void;
    updateActiveRecordsByEntity(records: ActiveRecords, updatePredict?: UpdateActiveRecordsByEntityPredict): void;
    deleteActiveRecords(recordIndexes: number[]): void;
    deleteActiveRecordsByEntity(records: ActiveRecords, predict?: DeleteActiveRecordsByEntityPredict): void;
    flushActiveRecords(): void;
    protected currentOpenerDataSource: ActiveRecord[] | undefined;
    protected get openerDataSource(): ActiveRecord[] | undefined;
    protected currentOpenerActiveRecords: ActiveRecord[] | undefined;
    get openerActiveRecords(): ActiveRecord[] | undefined;
}
