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

export interface paths {
    "/user/schedules": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get schedules
         * @description Returns all schedules for the authenticated user.
         */
        get: operations["getSchedules"];
        put?: never;
        /**
         * Create or update schedule
         * @description Creates or updates a schedule for the authenticated user.
         */
        post: operations["upsertSchedule"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/user/schedules/{id}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get schedule by ID
         * @description Returns a specific schedule by its ID.
         */
        get: operations["getSchedule"];
        put?: never;
        post?: never;
        /**
         * Delete schedule
         * @description Deletes a schedule by its ID.
         */
        delete: operations["deleteSchedule"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
}
export type webhooks = Record<string, never>;
export interface components {
    schemas: {
        /** @description A schedule defines a recurring cron-based trigger for performance tests or other automated tasks. */
        Schedule: {
            /**
             * Format: uuid
             * @description Unique identifier for the schedule.
             */
            id?: string;
            /** @description Human-readable name for the schedule. */
            name: string;
            /**
             * Format: uuid
             * @description UUID of the user who owns this schedule.
             */
            user_id: string;
            /** @description Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight). */
            cron_expression: string;
            /**
             * Format: date-time
             * @description Timestamp when the resource was created.
             */
            created_at?: string;
            /**
             * Format: date-time
             * @description Timestamp when the resource was updated.
             */
            updated_at?: string;
        };
        /** @description A paginated list of schedules. */
        SchedulePage: {
            /** @description Current page number (zero-based). */
            page: number;
            /** @description Number of schedules per page. */
            page_size: number;
            /** @description Total number of schedules across all pages. */
            total_count: number;
            /** @description The schedules of the schedulepage. */
            schedules: {
                /**
                 * Format: uuid
                 * @description Unique identifier for the schedule.
                 */
                id?: string;
                /** @description Human-readable name for the schedule. */
                name: string;
                /**
                 * Format: uuid
                 * @description UUID of the user who owns this schedule.
                 */
                user_id: string;
                /** @description Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight). */
                cron_expression: string;
                /**
                 * Format: date-time
                 * @description Timestamp when the resource was created.
                 */
                created_at?: string;
                /**
                 * Format: date-time
                 * @description Timestamp when the resource was updated.
                 */
                updated_at?: string;
            }[];
        };
    };
    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 Result not found */
        404: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "text/plain": string;
            };
        };
        /** @description Internal server error */
        500: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "text/plain": string;
            };
        };
    };
    parameters: {
        /** @description Schedule ID */
        id: string;
        /** @description Get responses by page */
        page: string;
        /** @description Get responses by pagesize */
        pagesize: string;
        /** @description Get responses that match search param value */
        search: string;
        /** @description Get ordered responses */
        order: string;
    };
    requestBodies: never;
    headers: never;
    pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
    getSchedules: {
        parameters: {
            query?: {
                /** @description Get responses by page */
                page?: string;
                /** @description Get responses by pagesize */
                pagesize?: string;
                /** @description Get responses that match search param value */
                search?: string;
                /** @description Get ordered responses */
                order?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Schedules response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /** @description Current page number (zero-based). */
                        page: number;
                        /** @description Number of schedules per page. */
                        page_size: number;
                        /** @description Total number of schedules across all pages. */
                        total_count: number;
                        /** @description The schedules of the schedulepage. */
                        schedules: {
                            /**
                             * Format: uuid
                             * @description Unique identifier for the schedule.
                             */
                            id?: string;
                            /** @description Human-readable name for the schedule. */
                            name: string;
                            /**
                             * Format: uuid
                             * @description UUID of the user who owns this schedule.
                             */
                            user_id: string;
                            /** @description Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight). */
                            cron_expression: string;
                            /**
                             * Format: date-time
                             * @description Timestamp when the resource was created.
                             */
                            created_at?: string;
                            /**
                             * Format: date-time
                             * @description Timestamp when the resource was updated.
                             */
                            updated_at?: 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;
                };
            };
        };
    };
    upsertSchedule: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": {
                    /**
                     * Format: uuid
                     * @description Unique identifier for the schedule.
                     */
                    id?: string;
                    /** @description Human-readable name for the schedule. */
                    name: string;
                    /**
                     * Format: uuid
                     * @description UUID of the user who owns this schedule.
                     */
                    user_id: string;
                    /** @description Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight). */
                    cron_expression: string;
                    /**
                     * Format: date-time
                     * @description Timestamp when the resource was created.
                     */
                    created_at?: string;
                    /**
                     * Format: date-time
                     * @description Timestamp when the resource was updated.
                     */
                    updated_at?: string;
                };
            };
        };
        responses: {
            /** @description Schedule upserted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /**
                         * Format: uuid
                         * @description Unique identifier for the schedule.
                         */
                        id?: string;
                        /** @description Human-readable name for the schedule. */
                        name: string;
                        /**
                         * Format: uuid
                         * @description UUID of the user who owns this schedule.
                         */
                        user_id: string;
                        /** @description Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight). */
                        cron_expression: string;
                        /**
                         * Format: date-time
                         * @description Timestamp when the resource was created.
                         */
                        created_at?: string;
                        /**
                         * Format: date-time
                         * @description Timestamp when the resource was updated.
                         */
                        updated_at?: string;
                    };
                };
            };
            /** @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;
                };
            };
        };
    };
    getSchedule: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Schedule ID */
                id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Schedule response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /**
                         * Format: uuid
                         * @description Unique identifier for the schedule.
                         */
                        id?: string;
                        /** @description Human-readable name for the schedule. */
                        name: string;
                        /**
                         * Format: uuid
                         * @description UUID of the user who owns this schedule.
                         */
                        user_id: string;
                        /** @description Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight). */
                        cron_expression: string;
                        /**
                         * Format: date-time
                         * @description Timestamp when the resource was created.
                         */
                        created_at?: string;
                        /**
                         * Format: date-time
                         * @description Timestamp when the resource was updated.
                         */
                        updated_at?: string;
                    };
                };
            };
            /** @description Expired JWT token used or insufficient privilege */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Result not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Internal server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
        };
    };
    deleteSchedule: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description Schedule ID */
                id: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Schedule deleted */
            204: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Expired JWT token used or insufficient privilege */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Result not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Internal server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
        };
    };
}
