/**
* Copyright IBM Corp. 2021, 2025
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
import '../../global/js/utils/props-helper';
import React, { ReactNode } from 'react';
export interface EditSidePanelProps {
/**
* Sets the body content of the create side panel
*/
children: ReactNode;
/**
* Provide an optional class to be applied to the containing node.
*/
className?: string;
/**
* Specifies a boolean for disabling or enabling the primary button. This is important for form validation
* Returning `true` prevents the primary button from being clicked until required fields are completed.
*/
disableSubmit?: boolean;
/**
* Specifies an optional field that provides a additional context for a form
*/
formDescription?: ReactNode;
/**
* Specifies a required field that provides a title for a form
*/
formTitle: ReactNode;
/**
* Unique identifier
*/
id?: string;
/**
* Specifies an optional handler which is called when the CreateSidePanel
* is closed.
*/
onRequestClose?: () => void;
/**
* Specifies an optional handler which is called when the CreateSidePanel
* primary button is pressed.
*/
onRequestSubmit?: () => void;
/**
* Specifies whether the CreateSidePanel is open or not.
*/
open: boolean;
/**
* Determines if the side panel is on the right or left
*/
placement?: 'left' | 'right';
/**
* Specifies the primary button's text in the modal.
*/
primaryButtonText: string;
/**
* Specifies the secondary button's text in the modal.
*/
secondaryButtonText: string;
/**
* This is the selector to the element that contains all of the page content that will shrink if the panel is a slide in.
* This prop is required when using the `slideIn` variant of the side panel.
*/
selectorPageContent?: string;
/**
* Specifies which DOM element in the form should be focused.
*/
selectorPrimaryFocus?: string;
/**
* Sets the size of the side panel
*/
size?: 'xs' | 'sm' | 'md' | 'lg' | '2xl';
/**
* Specifies which DOM element in the form should be focused.
*/
slideIn?: boolean;
/**
* **Experimental:** Provide a `Slug` component to be rendered inside the `SidePanel` component
*/
slug?: ReactNode;
/**
* The subtitle of the CreateSidePanel is optional and serves to provide more information about the modal.
*/
subtitle?: ReactNode;
/**
* The title of the CreateSidePanel is usually the product or service name.
*/
title: string;
}
/**
* **This component is deprecated.**
* Use with medium complexity edits if the user needs page context.
* @deprecated
*/
export declare const EditSidePanel: React.ForwardRefExoticComponent>;
//# sourceMappingURL=EditSidePanel.d.ts.map