import BaseResource from '../../BaseResource';
import type * as SchemaTypes from '../SchemaTypes';
import type * as SimpleSchemaTypes from '../SimpleSchemaTypes';
export default class SiteInvitation extends BaseResource {
    static readonly TYPE: "site_invitation";
    /**
     * Invite a new user
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/site-invitation/create
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    create(body: SimpleSchemaTypes.SiteInvitationCreateSchema): Promise<SimpleSchemaTypes.SiteInvitation>;
    /**
     * Invite a new user
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/site-invitation/create
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawCreate(body: SchemaTypes.SiteInvitationCreateSchema): Promise<SchemaTypes.SiteInvitationCreateTargetSchema>;
    /**
     * Update an invitation
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/site-invitation/update
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    update(siteInvitationId: string | SimpleSchemaTypes.SiteInvitationData, body: SimpleSchemaTypes.SiteInvitationUpdateSchema): Promise<SimpleSchemaTypes.SiteInvitation>;
    /**
     * Update an invitation
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/site-invitation/update
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawUpdate(siteInvitationId: string, body: SchemaTypes.SiteInvitationUpdateSchema): Promise<SchemaTypes.SiteInvitationUpdateTargetSchema>;
    /**
     * List all invitations
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/site-invitation/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    list(): Promise<SimpleSchemaTypes.SiteInvitationInstancesTargetSchema>;
    /**
     * List all invitations
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/site-invitation/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawList(): Promise<SchemaTypes.SiteInvitationInstancesTargetSchema>;
    /**
     * Retrieve an invitation
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/site-invitation/self
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    find(siteInvitationId: string | SimpleSchemaTypes.SiteInvitationData): Promise<SimpleSchemaTypes.SiteInvitation>;
    /**
     * Retrieve an invitation
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/site-invitation/self
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawFind(siteInvitationId: string): Promise<SchemaTypes.SiteInvitationSelfTargetSchema>;
    /**
     * Delete an invitation
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/site-invitation/destroy
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    destroy(siteInvitationId: string | SimpleSchemaTypes.SiteInvitationData): Promise<SimpleSchemaTypes.SiteInvitation>;
    /**
     * Delete an invitation
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/site-invitation/destroy
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawDestroy(siteInvitationId: string): Promise<SchemaTypes.SiteInvitationDestroyTargetSchema>;
    /**
     * Resend an invitation
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/site-invitation/resend
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    resend(siteInvitationId: string | SimpleSchemaTypes.SiteInvitationData): Promise<SimpleSchemaTypes.SiteInvitation>;
    /**
     * Resend an invitation
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/site-invitation/resend
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawResend(siteInvitationId: string): Promise<SchemaTypes.SiteInvitationResendTargetSchema>;
}
