/**
 * soccr.io API
 * An ASP.NET Core Web API for managing Soccer items
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs';
import { CommonResult } from '../model/models';
import { InvitationDetail } from '../model/models';
import { InvitationStatus } from '../model/models';
import { Configuration } from '../configuration';
export interface InvitationsServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     *
     *
     */
    getInvitationsTargetAccountNames(extraHttpRequestParams?: any): Observable<Array<string>>;
    /**
     *
     *
     * @param GuestUserID
     * @param PointValue
     */
    invitationAcceptAll(GuestUserID?: number, PointValue?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param InvitationID
     * @param GuestUserID
     * @param PointValue
     */
    invitationAcceptItem(InvitationID?: number, GuestUserID?: number, PointValue?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param InvitationID
     * @param HostUserID
     */
    invitationCancel(InvitationID?: number, HostUserID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param InvitationID
     */
    invitationDecline(InvitationID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param GuestEmailAddress
     */
    invitationDeclineAll(GuestEmailAddress?: string, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param InvitationDetail
     */
    invitationInsertInContext(InvitationDetail?: InvitationDetail, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     */
    invitationStatusList(extraHttpRequestParams?: any): Observable<Array<InvitationStatus>>;
    /**
     *
     *
     * @param InvitationDetail
     */
    invitationUpdateInvitationStatus(InvitationDetail?: InvitationDetail, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param Context
     * @param ContextKey
     */
    invitationsSelectAllForContextSpecific(Context?: string, ContextKey?: string, extraHttpRequestParams?: any): Observable<Array<InvitationDetail>>;
    /**
     *
     *
     * @param EmailAddress
     */
    invitationsSelectAllForGuest(EmailAddress?: string, extraHttpRequestParams?: any): Observable<Array<InvitationDetail>>;
    /**
     *
     *
     * @param UserID
     * @param Context
     * @param ContextKey
     * @param IncludeAccepted
     */
    invitationsSelectAllForGuestContextSpecific(UserID?: number, Context?: string, ContextKey?: number, IncludeAccepted?: boolean, extraHttpRequestParams?: any): Observable<Array<InvitationDetail>>;
    /**
     *
     *
     * @param UserID
     * @param Context
     * @param IncludeAccepted
     */
    invitationsSelectAllForGuestContextd(UserID?: number, Context?: string, IncludeAccepted?: boolean, extraHttpRequestParams?: any): Observable<Array<InvitationDetail>>;
    /**
     *
     *
     * @param HostUserID
     */
    invitationsSelectAllForHost(HostUserID?: number, extraHttpRequestParams?: any): Observable<Array<InvitationDetail>>;
    /**
     *
     *
     * @param HostUserID
     * @param Context
     * @param ContextKey
     * @param IncludeAccepted
     */
    invitationsSelectAllForHostContextSpecific(HostUserID?: number, Context?: string, ContextKey?: number, IncludeAccepted?: boolean, extraHttpRequestParams?: any): Observable<Array<InvitationDetail>>;
    /**
     *
     *
     * @param HostUserID
     * @param Context
     * @param IncludeAccepted
     */
    invitationsSelectAllForHostContextd(HostUserID?: number, Context?: string, IncludeAccepted?: boolean, extraHttpRequestParams?: any): Observable<Array<InvitationDetail>>;
    /**
     *
     *
     * @param InvitationID
     */
    invitationsSelectItem(InvitationID?: number, extraHttpRequestParams?: any): Observable<InvitationDetail>;
    /**
     *
     *
     * @param TargetIndex
     * @param Subject
     * @param Body
     * @param IsHtml
     */
    sendEmailAsync(TargetIndex?: number, Subject?: string, Body?: string, IsHtml?: boolean, extraHttpRequestParams?: any): Observable<{}>;
    /**
     *
     *
     * @param TargetIndex
     */
    sendInvitationTestEmail(TargetIndex?: number, extraHttpRequestParams?: any): Observable<{}>;
}
