/**
 * Properties for action buttons used in dialogs.
 */
export type VegaDialogActionButtonProps = Partial<
	Pick<HTMLVegaButtonElement, 'variant' | 'size' | 'icon' | 'iconAlign' | 'label' | 'disabled' | 'danger'>
>;

/**
 * Callback type for dialog actions which may control closing behavior.
 *
 * - The dialog will be closed by default if the callback is undefined.
 * - Will close the dialog if the callback return true, otherwise not close
 */
export type VegaDialogAction = ((e: CustomEvent<void>) => boolean) | undefined;
