/**
 * Copyright IBM Corp. 2021, 2021
 *
 * 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.** <br>
 * Use with medium complexity edits if the user needs page context.
 * @deprecated
 */
export declare let EditSidePanel: React.ForwardRefExoticComponent<EditSidePanelProps & React.RefAttributes<HTMLDivElement>>;
