/**
*
* Copyright (c) "Neo4j"
* Neo4j Sweden AB [http://neo4j.com]
*
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
import { type CodeBlock } from '@neo4j-ndl/react';
import { type CommonProps } from '../../_common/types';
type PreviewProps = {
children: React.ReactNode;
};
type PreviewHeaderProps = {
children?: React.ReactNode;
actions?: React.ReactNode;
};
type PreviewConfirmationProps = {
/** The content to display in the confirmation */
children?: React.ReactNode;
/** The actions to display in the confirmation, usually two buttons; one for confirming and one for rejecting. */
actions: React.ReactNode;
/** Whether the confirmation is used as a footer */
isFooter?: boolean;
/** The status of the confirmation */
status?: 'pending' | 'confirmed' | 'rejected';
/** The text to display for the confirmed status */
confirmedActionText?: string;
/** The text to display for the rejected status */
rejectedActionText?: string;
};
type PreviewCodeProps = {
/** The code content to display */
code: string;
/** The language of the code (e.g., 'cypher', 'python', 'javascript') */
language: React.ComponentProps['language'];
/** The current state of the code block */
label?: 'read' | 'write';
/** Whether the code block is loading */
isLoading?: boolean;
/** The actions to display in the header. Should be small buttons or icon buttons only. */
headerActions?: React.ReactNode;
/** The theme of the code block */
theme?: 'ndl-code-dark' | 'ndl-code-light';
};
export declare const Preview: (({ children, ref, style, className, htmlAttributes, ...restProps }: CommonProps<"div", PreviewProps>) => import("react/jsx-runtime").JSX.Element) & {
Code: ({ code, language, label, isLoading, headerActions, theme, ref, style, className, htmlAttributes, ...restProps }: CommonProps<"div", PreviewCodeProps>) => import("react/jsx-runtime").JSX.Element;
Confirmation: ({ children, actions, isFooter, status, confirmedActionText, rejectedActionText, ref, style, className, htmlAttributes, ...restProps }: CommonProps<"div", PreviewConfirmationProps>) => import("react/jsx-runtime").JSX.Element;
Header: ({ children, actions, ref, style, className, htmlAttributes, ...restProps }: CommonProps<"div", PreviewHeaderProps>) => import("react/jsx-runtime").JSX.Element;
};
export {};
//# sourceMappingURL=Preview.d.ts.map