import { ClientSDK, RequestOptions } from "../lib/sdks.js";
import * as operations from "../models/operations/index.js";
import { PageIterator } from "../types/operations.js";
export declare class GradingPeriods extends ClientSDK {
    /**
     * Get all Grading Periods
     *
     * @remarks
     * To get all Grading Periods on the service provider.
     */
    getAll(request: operations.GetAllGradingPeriodsRequest, options?: RequestOptions): Promise<PageIterator<operations.GetAllGradingPeriodsResponse, {
        offset: number;
    }>>;
    /**
     * Create a new Grading Period
     *
     * @remarks
     * To create a new Grading Period. The responding system must return the set of sourcedIds that have been allocated to the newly created gradingPeriod record.
     */
    create(request?: operations.CreateGradingPeriodRequest | undefined, options?: RequestOptions): Promise<operations.CreateGradingPeriodResponse>;
    /**
     * Get a specific Grading Period
     *
     * @remarks
     * Get a specific Grading Period on the service provider. If the corresponding record cannot be located, the api will return a 404 error code and message 'Grading period not found.'
     */
    get(request: operations.GetGradingPeriodRequest, options?: RequestOptions): Promise<operations.GetGradingPeriodResponse>;
    /**
     * Update a Grading Period
     *
     * @remarks
     * To update an existing Grading Period. The sourcedId for the record to be updated is supplied by the requesting system.
     */
    update(request: operations.UpdateGradingPeriodRequest, options?: RequestOptions): Promise<{
        [k: string]: any;
    }>;
    /**
     * Delete a Grading Period
     *
     * @remarks
     * Perform a soft delete on a specific Grading Period on the service provider. The operation changes the status of the Grading Period to 'tobedeleted'.
     */
    delete(request: operations.DeleteGradingPeriodRequest, options?: RequestOptions): Promise<{
        [k: string]: any;
    }>;
    /**
     * Create a new Grading Period for a Term
     *
     * @remarks
     * To create a new Grading Period for a Term. A Grading Period is a type of Academic Session. The responding system must return the set of sourcedIds that have been allocated to the newly created academicSession record.
     */
    createForTerm(request: operations.CreateGradingPeriodForTermRequest, options?: RequestOptions): Promise<operations.CreateGradingPeriodForTermResponse>;
}
//# sourceMappingURL=gradingperiods.d.ts.map