import { MoodleClient } from "../moodle/client.js"; import { MoodleCapabilities } from "../moodle/capabilities.js"; import { z } from "zod"; /** * list_courses — List courses available to the configured API token. * * Session cache: the course list is fetched once and cached in memory. * Moodle's core_course_get_courses_by_field returns all courses (no WS-level * pagination), so repeated fetches would waste 1.7MB + 20-50s per call. */ export declare const name = "list_courses"; export declare const description: string; export declare const inputSchema: z.ZodObject<{ /** Optional: filter courses by category ID */ categoryid: z.ZodOptional; /** Optional: filter courses by category name */ categoryname: z.ZodOptional; /** Optional: max courses to return */ limit: z.ZodDefault>; /** Optional: filter by course visibility */ visible: z.ZodOptional; /** Optional: pagination offset */ offset: z.ZodDefault>; }, "strip", z.ZodTypeAny, { limit: number; offset: number; categoryid?: number | undefined; categoryname?: string | undefined; visible?: boolean | undefined; }, { categoryid?: number | undefined; categoryname?: string | undefined; limit?: number | undefined; visible?: boolean | undefined; offset?: number | undefined; }>; export declare function createHandler(client: MoodleClient, _caps: MoodleCapabilities): (args: unknown) => Promise; //# sourceMappingURL=list-courses.d.ts.map