/**
 * This file was auto-generated by openapi-typescript.
 * Do not make direct changes to the file.
 */

export interface paths {
    "/api/entitlement/plans": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** Get all plans supported by the system */
        get: operations["getPlans"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
}
export type webhooks = Record<string, never>;
export interface components {
    schemas: {
        PlanPage: {
            page: number;
            page_size: number;
            total_count: number;
            plans: {
                /**
                 * Format: uuid
                 * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
                 */
                id: string;
                /**
                 * @description Name of the plan
                 * @enum {string}
                 */
                name: "Free" | "Team Designer" | "Team Operator" | "Enterprise";
                /** @enum {string} */
                cadence: "monthly" | "yearly";
                /** @enum {string} */
                unit: "user" | "free";
                /** @description Minimum number of units required for the plan */
                minimum_units: number;
                /** @description Price per unit of the plan */
                price_per_unit: number;
                /** @enum {string} */
                currency: "usd";
            }[];
        };
        Plan: {
            /**
             * Format: uuid
             * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
             */
            id: string;
            /**
             * @description Name of the plan
             * @enum {string}
             */
            name: "Free" | "Team Designer" | "Team Operator" | "Enterprise";
            /** @enum {string} */
            cadence: "monthly" | "yearly";
            /** @enum {string} */
            unit: "user" | "free";
            /** @description Minimum number of units required for the plan */
            minimum_units: number;
            /** @description Price per unit of the plan */
            price_per_unit: number;
            /** @enum {string} */
            currency: "usd";
        };
        /**
         * @description Name of the plan
         * @enum {string}
         */
        PlanName: "Free" | "Team Designer" | "Team Operator" | "Enterprise";
        /** @enum {string} */
        PlanCadence: "monthly" | "yearly";
        /** @enum {string} */
        PlanUnit: "user" | "free";
        /** @enum {string} */
        Currency: "usd";
    };
    responses: {
        /** @description Invalid request body or request param */
        400: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "text/plain": string;
            };
        };
        /** @description Expired JWT token used or insufficient privilege */
        401: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "text/plain": string;
            };
        };
        /** @description Internal server error */
        500: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "text/plain": string;
            };
        };
    };
    parameters: never;
    requestBodies: never;
    headers: never;
    pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
    getPlans: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Plans response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /**
                         * Format: uuid
                         * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
                         */
                        id: string;
                        /**
                         * @description Name of the plan
                         * @enum {string}
                         */
                        name: "Free" | "Team Designer" | "Team Operator" | "Enterprise";
                        /** @enum {string} */
                        cadence: "monthly" | "yearly";
                        /** @enum {string} */
                        unit: "user" | "free";
                        /** @description Minimum number of units required for the plan */
                        minimum_units: number;
                        /** @description Price per unit of the plan */
                        price_per_unit: number;
                        /** @enum {string} */
                        currency: "usd";
                    }[];
                };
            };
            /** @description Invalid request body or request param */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Expired JWT token used or insufficient privilege */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Internal server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
        };
    };
}
