import React from "react";

import { AlertProps, ButtonProps } from "@bigbinary/neeto-atoms";

interface SchedulePaneProps {
  isOpen: boolean;
  isSubmitting: boolean;
  onPublish: (params: { datetimeValue: Date | null }) => void;
  onClose: () => void;
  datetime: Date | null;
  previewProps?: {
    coverImageUrl?: string;
    title?: string;
    publicUrl?: string;
  };
}

interface PublishBlockProps {
  renderDraftButtons: (props: {
    ViewDraftButton: React.FC<ButtonProps>;
    ResetDraftButton: React.FC<ButtonProps>;
  }) => React.ReactNode;
  renderPublishButtons: (props: {
    PublishButton: React.FC<
      ButtonProps & {
        showTooltipWhenDisabled?: boolean;
      }
    >;
    PublishPreviewButton: React.FC<ButtonProps>;
  }) => React.ReactNode;
  datetime?: Date | string | number | null;
}

const PublishBlock: React.FC<PublishBlockProps> & {
  Alert: React.FC<AlertProps>;
  SchedulePane: React.FC<SchedulePaneProps>;
};

export default PublishBlock;
