import { ClientSDK, RequestOptions } from "../lib/sdks.js";
import * as components from "../models/components/index.js";
import * as operations from "../models/operations/index.js";
import { PageIterator } from "../types/operations.js";
import { ClassesResults } from "./classesresults.js";
export declare class Classes extends ClientSDK {
    private _results?;
    get results(): ClassesResults;
    /**
     * Create Results for an Academic Session for a Class
     *
     * @remarks
     * To create a set of results for a specific academic session and specific class. The responding system must return the set of sourcedIds that have been allocated to the newly created result records. If the corresponding record cannot be located, the api will return a 404 error code and message 'Class or academic session not found.'
     */
    createResults(request: operations.PostResultsForAcademicSessionForClassRequest, options?: RequestOptions): Promise<operations.PostResultsForAcademicSessionForClassResponse>;
    /**
     * Get Results for a Student for a Class
     *
     * @remarks
     * Get the set of results on the service provider for a specific student and for a specific class. If the corresponding record cannot be located, the api will return a 404 error code and message 'Class or student not found.'
     */
    getStudentResults(request: operations.GetResultsForStudentForClassRequest, options?: RequestOptions): Promise<PageIterator<operations.GetResultsForStudentForClassResponse, {
        offset: number;
    }>>;
    /**
     * Get Categories for a Class
     *
     * @remarks
     * Get the set of categories on the service provider for a specific class. If the corresponding record cannot be located, the api will return a 404 error code and message 'Class not found.'
     */
    getCategories(request: operations.GetCategoriesForClassRequest, options?: RequestOptions): Promise<PageIterator<operations.GetCategoriesForClassResponse, {
        offset: number;
    }>>;
    /**
     * Get Score Scales for a Class
     *
     * @remarks
     * Get the set of scoreScales on the service provider for a specific class. If the corresponding record cannot be located, the api will return a 404 error code and message 'Class not found.'
     */
    getScoreScales(request: operations.GetScoreScalesForClassRequest, options?: RequestOptions): Promise<PageIterator<operations.GetScoreScalesForClassResponse, {
        offset: number;
    }>>;
    /**
     * Get all Classes
     *
     * @remarks
     * To get all Classes on the service provider.
     */
    getAll(request: operations.GetAllClassesRequest, options?: RequestOptions): Promise<PageIterator<operations.GetAllClassesResponse, {
        offset: number;
    }>>;
    /**
     * Create a new Class
     *
     * @remarks
     * To create a new Class. The responding system must return the set of sourcedIds that have been allocated to the newly created class record.
     */
    create(request?: operations.CreateClassRequest | undefined, options?: RequestOptions): Promise<operations.CreateClassResponse>;
    /**
     * Get a specific class
     *
     * @remarks
     * Get a specific Class on the service provider. If the corresponding record cannot be located, the api will return a 404 error code and message 'Class not found.'
     */
    get(request: operations.GetClassRequest, options?: RequestOptions): Promise<components.Class>;
    /**
     * Update a Class
     *
     * @remarks
     * To update an existing Class. The sourcedId for the record to be updated is supplied by the requesting system.
     */
    update(request: operations.UpdateClassRequest, options?: RequestOptions): Promise<components.Class>;
    /**
     * Delete a Class
     *
     * @remarks
     * Perform a soft delete on a specific Class on the service provider. This operation changes the status of the Class to 'tobedeleted'.
     */
    delete(request: operations.DeleteClassRequest, options?: RequestOptions): Promise<{
        [k: string]: any;
    }>;
    /**
     * Get resources for a class
     *
     * @remarks
     * To get the collection of resources available to a specific class. If the corresponding record cannot be located, the api will return a 404 error code and message 'Class not found.'
     */
    listResources(request: operations.GetResourcesForClassRequest, options?: RequestOptions): Promise<PageIterator<operations.GetResourcesForClassResponse, {
        offset: number;
    }>>;
    /**
     * Add a teacher to a Class
     *
     * @remarks
     * Enrolls a teacher to a specific Class. The responding system must return the set of sourcedIds that have been allocated to the newly created enrollment record.
     */
    addTeacher(request: operations.AddTeacherToClassRequest, options?: RequestOptions): Promise<operations.AddTeacherToClassResponse>;
    /**
     * Get Teachers for a specific Class in a School
     *
     * @remarks
     * To get all Teachers for a Class in a School on the service provider. If the specified school and/or class cannot be identified within the service provider, the api will return a 404 error code and message 'School or class not found.'
     */
    getTeachers(request: operations.GetTeachersForClassInSchoolRequest, options?: RequestOptions): Promise<PageIterator<operations.GetTeachersForClassInSchoolResponse, {
        offset: number;
    }>>;
    /**
     * Get students for a Class
     *
     * @remarks
     * To get all students enrolled in a specific Class. If the corresponding record cannot be located, the api will return a 404 error code and message 'Class not found.'
     */
    getStudents(request: operations.GetStudentsForClassRequest, options?: RequestOptions): Promise<PageIterator<operations.GetStudentsForClassResponse, {
        offset: number;
    }>>;
    /**
     * Add a student to a Class
     *
     * @remarks
     * Enrolls a student in a specific Class. The responding system must return the set of sourcedIds that have been allocated to the newly created enrollment record.
     */
    addStudent(request: operations.AddStudentToClassRequest, options?: RequestOptions): Promise<operations.AddStudentToClassResponse>;
}
//# sourceMappingURL=classes.d.ts.map