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 { SchoolsCourses } from "./schoolscourses.js";
import { SchoolsLineItems } from "./schoolslineitems.js";
export declare class Schools extends ClientSDK {
    private _lineItems?;
    get lineItems(): SchoolsLineItems;
    private _courses?;
    get courses(): SchoolsCourses;
    /**
     * Get all Schools
     *
     * @remarks
     * To get all Schools on the service provider.
     */
    getAll(request: operations.GetAllSchoolsRequest, options?: RequestOptions): Promise<PageIterator<operations.GetAllSchoolsResponse, {
        offset: number;
    }>>;
    /**
     * Create a new School
     *
     * @remarks
     * To create a new School. The responding system must return the set of sourcedIds that have been allocated to the newly created school record.
     */
    create(request?: operations.CreateSchoolRequest | undefined, options?: RequestOptions): Promise<components.Org>;
    /**
     * Get a specific School
     *
     * @remarks
     * Get a specific School on the service provider. If the corresponding record cannot be located, the api will return a 404 error code and message 'School not found.'
     */
    get(request: operations.GetSchoolRequest, options?: RequestOptions): Promise<operations.GetSchoolResponse>;
    /**
     * Update a School
     *
     * @remarks
     * To update an existing School. The sourcedId for the record to be updated is supplied by the requesting system.
     */
    update(request: operations.UpdateSchoolRequest, options?: RequestOptions): Promise<components.Org>;
    /**
     * Delete a School
     *
     * @remarks
     * Perform a soft delete on a specific School on the service provider. The operation changes the status of the School to 'tobedeleted'.
     */
    delete(request: operations.DeleteSchoolRequest, options?: RequestOptions): Promise<{
        [k: string]: any;
    }>;
    /**
     * Get all Classes for a School
     *
     * @remarks
     * To get all Classes for a School on the service provider. If the specified school cannot be identified within the service provider, the api will return a 404 error code and message 'School not found.'
     */
    getClasses(request: operations.GetClassesForSchoolRequest, options?: RequestOptions): Promise<PageIterator<operations.GetClassesForSchoolResponse, {
        offset: number;
    }>>;
    /**
     * Get all Terms for a School
     *
     * @remarks
     * To get all Terms for a School on the service provider. If the specified school cannot be identified within the service provider, the api will return a 404 error code and message 'School not found.'
     */
    getTerms(request: operations.GetTermsForSchoolRequest, options?: RequestOptions): Promise<PageIterator<operations.GetTermsForSchoolResponse, {
        offset: number;
    }>>;
    /**
     * Get all teachers for a school
     *
     * @remarks
     * To get all Teachers for a School on the service provider. If the specified school cannot be identified within the service provider, the api will return a 404 error code and message 'School not found.'
     */
    getTeachers(request: operations.GetTeachersForSchoolRequest, options?: RequestOptions): Promise<PageIterator<operations.GetTeachersForSchoolResponse, {
        offset: number;
    }>>;
    /**
     * Get all Students for a School
     *
     * @remarks
     * To get all Students for a School on the service provider.
     */
    getStudents(request: operations.GetStudentsForSchoolRequest, options?: RequestOptions): Promise<PageIterator<operations.GetStudentsForSchoolResponse, {
        offset: number;
    }>>;
    /**
     * Get all Enrollments for a School
     *
     * @remarks
     * To get all Enrollments for a School on the service provider. If the specified school cannot be identified within the service provider, the api will return a 404 error code and message 'School not found.'
     */
    getEnrollments(request: operations.GetEnrollmentsForSchoolRequest, options?: RequestOptions): Promise<PageIterator<operations.GetEnrollmentsForSchoolResponse, {
        offset: number;
    }>>;
}
//# sourceMappingURL=schools.d.ts.map