import { VariantProps } from 'class-variance-authority';
import { Card } from '../atoms/card';
import { ClassProp } from 'class-variance-authority/types';
import type * as React from "react";
export type ToolAuthorizationStatus = "loading" | "pending" | "completed" | "failed";
declare const toolAuthorizationVariants: (props?: ({
    status?: "loading" | "pending" | "completed" | "failed" | null | undefined;
} & ClassProp) | undefined) => string;
declare const toolAuthorizationMessageVariants: (props?: ({
    status?: "loading" | "pending" | "completed" | "failed" | null | undefined;
} & ClassProp) | undefined) => string;
export type ToolAuthorizationProps = React.ComponentProps<typeof Card> & VariantProps<typeof toolAuthorizationVariants>;
export type ToolAuthorizationHeaderProps = Omit<React.ComponentProps<"div">, "title"> & {
    status?: ToolAuthorizationStatus;
    icon?: React.ComponentType<{
        className?: string;
    }>;
    /** Optional toolkit brand icon rendered next to the title text. */
    toolkitIcon?: React.ComponentType<{
        className?: string;
    }>;
    title?: React.ReactNode;
    description?: React.ReactNode;
};
export type ToolAuthorizationMessageProps = React.ComponentProps<"div"> & VariantProps<typeof toolAuthorizationMessageVariants>;
export type ToolAuthorizationArgsProps = {
    args: Record<string, unknown>;
} & React.ComponentProps<"div">;
/**
 * Root card wrapper. Accepts a `status` prop that controls the border colour.
 */
declare function ToolAuthorization({ className, status, ...props }: ToolAuthorizationProps): import("react/jsx-runtime").JSX.Element;
/**
 * Header row with built-in icon wrapper, title, and description.
 *
 * Pass `icon` (a component reference like `CheckCircle2`), `title`,
 * `description`, and the same `status` used on `ToolAuthorization` to get the
 * standard layout with correct status colours applied automatically.
 */
declare function ToolAuthorizationHeader({ className, status, icon: Icon, toolkitIcon: ToolkitIcon, title, description, children, ...props }: ToolAuthorizationHeaderProps): import("react/jsx-runtime").JSX.Element;
/**
 * Main body area below the header. Renders a vertical flex column.
 */
declare function ToolAuthorizationContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
/**
 * Coloured message/callout block inside the content area.
 * Use the same `status` as the root `ToolAuthorization`.
 */
declare function ToolAuthorizationMessage({ className, status, ...props }: ToolAuthorizationMessageProps): import("react/jsx-runtime").JSX.Element;
/**
 * Renders tool arguments as a formatted JSON pre block.
 * Renders nothing when `args` is empty.
 */
declare function ToolAuthorizationArgs({ args, className, ...props }: ToolAuthorizationArgsProps): import("react/jsx-runtime").JSX.Element | null;
export { ToolAuthorization, ToolAuthorizationArgs, ToolAuthorizationContent, ToolAuthorizationHeader, ToolAuthorizationMessage, };
//# sourceMappingURL=tool-authorization.d.ts.map