import { TopDialogHandle } from './dialogHandle';
import { AsyncTopDialogHandle } from './asyncDialogHandle';
import { AsyncTopDialogComponentLoader, TopDialogComponent } from './types';
/**
 * Получить объект управленя текущим диалоговым окном
 */
export declare const useTopDialogSelf: () => TopDialogHandle<TopDialogComponent>;
/**
 * Получить объект управленя диалоговым окном
 *
 * При первом вызове компонент диалогового окна будет внедрен в компонент DialogWrapper
 */
export declare const useTopDialog: <T extends TopDialogComponent>(DialogComponent: T) => TopDialogHandle<T>;
/**
 * Получить объект управленя асинхронным диалоговым окном
 *
 * Компонент диалогового окна будет загружен и инициирован при первом взаимодействии с объектом
 *
 * Использует useTopDialog()
 */
export declare const useAsyncTopDialog: <T extends TopDialogComponent>(resolve: AsyncTopDialogComponentLoader<T>) => AsyncTopDialogHandle<T>;
