/**
* Copyright Super iPaaS Integration LLC, an IBM Company 2024
*/

import { OpenAPIV3 } from "openapi-types";
import { OpenAPISecurityRequirement } from "../../api-authoring/interfaces/api-spec-handler.interface.js";

export interface FormViewTableData {
    id: string;
    [column: string]: React.ReactNode | string | boolean;
}

export interface SecurityRequirementsTableProps {
    data: (FormViewTableData)[];
    tableTitle: string;
    headers: { key: string; header: string }[];
    emptyStateTitle: string;
    emptyStateContent: string;
    buttonLabel: string;
    onAddButtonClick: () => void;
    handleRowDelete: (row: FormViewTableData) => void;
    security: OpenAPIV3.SecurityRequirementObject[];
    handleUpdate: (prevSecuityName: string, security: OpenAPISecurityRequirement) => void;
}