/**
 * useWorkflowDialog Hook
 *
 * Manages which workflow dialog should be shown.
 *
 * @since v1.43.2
 */
import type { DownloadStep, WorkflowType } from './dialog-types.js';
export interface UseWorkflowDialogOptions {
    /** Current workflow type */
    workflowType: WorkflowType;
    /** Whether confirmation dialog should show */
    showConfirmDialog: boolean;
    /** Download workflow step */
    downloadStep: DownloadStep;
    /** Sync loading state */
    syncLoading: boolean;
    /** Backup loading state */
    backupLoading: boolean;
    /** Download loading state */
    downloadLoading: boolean;
    /** Batch download loading state */
    batchDownloadLoading: boolean;
    /** Batch menu visibility */
    showBatchMenu: boolean;
    /** Selected plugins count */
    selectedPluginsCount: number;
    /** Selected server type */
    selectedServerType: string | null;
    /** Loading versions state */
    loadingVersions: boolean;
}
export interface WorkflowDialogHookResult {
    /** Which dialog to show (null if none) */
    activeDialog: 'confirm' | 'sync-progress' | 'backup-progress' | 'server-type-select' | 'version-select' | 'download-progress' | 'batch-download-progress' | 'batch-menu' | null;
    /** Dialog configuration for confirm dialogs */
    dialogConfig: {
        title: string;
        confirmLabel: string;
    } | null;
    /** Whether current workflow is migrate */
    isMigrate: boolean;
}
/**
 * Hook to determine which workflow dialog should be active
 */
export declare function useWorkflowDialog({ workflowType, showConfirmDialog, downloadStep, syncLoading, backupLoading, downloadLoading, batchDownloadLoading, showBatchMenu, selectedPluginsCount, selectedServerType, loadingVersions, }: UseWorkflowDialogOptions): WorkflowDialogHookResult;
//# sourceMappingURL=useWorkflowDialog.d.ts.map