import type React from "react";
import { type ReactElement } from "react";
import type { ButtonBasicProps, ButtonLinkProps } from "../Button";
import type { ErrorInfo } from "../Page";
import type { ProgressTrackerProps } from "../ProgressTracker";
import type { MultiStepDialogProps, MultiStepNeverProps, SingleStepNeverProps } from "./dialogTypes";
export type StandardDialogLimitedButtonProps = Pick<ButtonBasicProps, "label" | "onClick" | "disabled" | "importance"> | Pick<ButtonLinkProps, "label" | "onClick" | "href" | "external" | "importance" | "disabled">;
export type { DialogStep } from "./dialogTypes";
interface StandardDialogBaseProps {
    title: string;
    open: boolean;
    showDismissButton?: boolean;
    onClose: () => void;
    errors?: ErrorInfo[];
    width: "small" | "medium" | "large";
    sidePanel?: ReactElement;
    defaultSidePanelOpen?: boolean;
}
interface SingleStepStandardDialogProps extends StandardDialogBaseProps, MultiStepNeverProps {
    primaryButton: StandardDialogLimitedButtonProps;
    secondaryButton?: StandardDialogLimitedButtonProps;
    children: React.ReactNode;
    progressTracker?: ReactElement<ProgressTrackerProps>;
}
interface MultiStepStandardDialogProps extends StandardDialogBaseProps, MultiStepDialogProps, SingleStepNeverProps {
}
export type StandardDialogProps = SingleStepStandardDialogProps | MultiStepStandardDialogProps;
/**
 * A standard modal dialog with a title, optional dismiss button, scrollable content area,
 * optional error panel, primary/secondary footer actions, optional animated side panel,
 * and optional multi-step navigation.
 *
 * @remarks Do not implement directly in Octopus Server code. Use Workflows instead. See https://docs.octopushq.com/docs/frontend/workflows
 */
export declare function StandardDialog(props: StandardDialogProps): import("react/jsx-runtime").JSX.Element;
