import { type InputHTMLAttributes, type ReactNode } from 'react';
import { type ButtonTone } from '../../../design-system/primitives';
export interface OfficePromptOptions {
title: string;
description?: string;
initialValue?: string;
fieldLabel?: string;
placeholder?: string;
multiline?: boolean;
inputMode?: InputHTMLAttributes['inputMode'];
confirmLabel?: string;
required?: boolean | string;
validate?: (value: string) => string | null;
restoreFocusTarget?: () => HTMLElement | null;
}
export interface OfficeNoticeOptions {
title: string;
description?: string;
confirmLabel?: string;
restoreFocusTarget?: () => HTMLElement | null;
}
export interface OfficeConfirmOptions {
title: string;
description?: string;
confirmLabel?: string;
cancelLabel?: string;
confirmTone?: ButtonTone;
restoreFocusTarget?: () => HTMLElement | null;
}
export declare function useOfficeDialog(): {
prompt: (options: OfficePromptOptions) => Promise;
notice: (options: OfficeNoticeOptions) => Promise;
confirm: (options: OfficeConfirmOptions) => Promise;
dialog: ReactNode;
};