import { TypedEmitter } from 'tiny-typed-emitter';
import { OAuth2Config } from '@auth/core/providers';

type Maybe$1<T> = T | null;
type InputMaybe$1<T> = Maybe$1<T>;
type Exact$1<T extends {
    [key: string]: unknown;
}> = {
    [K in keyof T]: T[K];
};
/** All built-in and custom scalars, mapped to their actual values */
interface Scalars$1 {
    ID: {
        input: string;
        output: string;
    };
    String: {
        input: string;
        output: string;
    };
    Boolean: {
        input: boolean;
        output: boolean;
    };
    Int: {
        input: number;
        output: number;
    };
    Float: {
        input: number;
        output: number;
    };
    /**
     * Represents non-fractional signed whole numeric values. Since the value may
     * exceed the size of a 32-bit integer, it's encoded as a string.
     */
    BigInt: {
        input: string;
        output: string;
    };
    /**
     * The `Decimal` scalar type represents signed double-precision fractional
     * values. The Decimal appears in a JSON response as a string to preserve
     * precision.
     */
    Decimal: {
        input: string;
        output: string;
    };
    /** Url to uploaded upload */
    File: {
        input: string;
        output: string;
    };
    /** Represents untyped JSON */
    JSON: {
        input: {
            [key: string]: any;
        };
        output: {
            [key: string]: any;
        };
    };
    /** A number - float or integer */
    Number: {
        input: number;
        output: number;
    };
    /** String removes all html tags */
    SanitizedString: {
        input: string;
        output: string;
    };
    /** A float that can be a string */
    StringFloat: {
        input: string | number;
        output: string | number;
    };
    /** A valid timestamp in seconds, transported as an integer */
    Timestamp: {
        input: number;
        output: number;
    };
    /** URL starting with http/https */
    UrlString: {
        input: string;
        output: string;
    };
}
/** Autogenerated input type of AnalyzeAttachment */
interface AnalyzeAttachmentInput$1 {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The ID returned by the direct upload mutation */
    directUploadId: Scalars$1["String"]["input"];
    /** The type of media to analyze */
    mediaType: Media$1;
    /** The parts of the multipart upload */
    multipartParts?: InputMaybe$1<Array<UploadPartInput$1>>;
    /** The ID returned by the direct upload mutation */
    multipartUploadId?: InputMaybe$1<Scalars$1["String"]["input"]>;
}
/** The types of records that an attachment can be attached to */
type AttachableRecords$1 = "abuse_report" | "access_pass" | "access_pass_collection" | "app" | "assessment_question" | "automated_messages_config" | "bot" | "bounty" | "bounty_submission" | "competition_prize" | "content_reward_campaign" | "content_reward_submission" | "course_lesson" | "dispute" | "dms_post" | "experience" | "forum_post" | "information_request_item" | "resolution_event_upload" | "review" | "review_report" | "user";
/** The different business types a company can be. */
type BusinessTypes$1 = 
/** Agency */
"agency"
/** Brick And Mortar */
 | "brick_and_mortar"
/** Coaching */
 | "coaching"
/** Coaching And Courses */
 | "coaching_and_courses"
/** Community */
 | "community"
/** Course */
 | "course"
/** Education Program */
 | "education_program"
/** Events */
 | "events"
/** Newsletter */
 | "newsletter"
/** Other */
 | "other"
/** Paid Group */
 | "paid_group"
/** Physical Products */
 | "physical_products"
/** Saas */
 | "saas"
/** Software */
 | "software";
/** The available types for an assessment question */
type CoursesAssessmentQuestionTypes$1 = 
/** Multiple choice */
"multiple_choice"
/** Multiple select */
 | "multiple_select"
/** Short answer */
 | "short_answer"
/** True false */
 | "true_false";
/** Autogenerated input type of CreateAssessmentQuestion */
interface CreateAssessmentQuestionInput$1 {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The correct answer to the assessment question */
    correctAnswer: Scalars$1["String"]["input"];
    /** The ID of the lesson to create the assessment question in */
    lessonId: Scalars$1["ID"]["input"];
    /** The text of the question being asked */
    questionText: Scalars$1["String"]["input"];
    /** The type of the assessment question */
    questionType: CoursesAssessmentQuestionTypes$1;
}
/** Autogenerated input type of CreateChapter */
interface CreateChapterInput$1 {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The ID of the course to create the chapter in */
    courseId: Scalars$1["ID"]["input"];
    /** The title of the chapter */
    title?: InputMaybe$1<Scalars$1["String"]["input"]>;
}
/** Autogenerated input type of CreateCourse */
interface CreateCourseInput$1 {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The cover image URL of the course */
    coverImage?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The ID of the experience to create the course in */
    experienceId: Scalars$1["ID"]["input"];
    /** The tagline of the course */
    tagline?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The title of the course */
    title: Scalars$1["String"]["input"];
}
/** Autogenerated input type of CreateLesson */
interface CreateLessonInput$1 {
    /** The ID of the chapter to create the lesson in */
    chapterId: Scalars$1["ID"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The content of the lesson */
    content?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** Days from course start until unlock */
    daysFromCourseStartUntilUnlock?: InputMaybe$1<Scalars$1["Int"]["input"]>;
    /** The type of the lesson */
    lessonType: LessonTypes$1;
    /** The title of the lesson */
    title?: InputMaybe$1<Scalars$1["String"]["input"]>;
}
/** The available currencies on the platform */
type Currencies$1 = "aed" | "all" | "amd" | "ape" | "ars" | "aud" | "bam" | "bgn" | "bhd" | "bob" | "brl" | "bsd" | "btc" | "cad" | "chf" | "clp" | "cop" | "crc" | "czk" | "dkk" | "dop" | "dzd" | "egp" | "etb" | "eth" | "eur" | "gbp" | "ghs" | "gmd" | "gtq" | "gyd" | "hkd" | "huf" | "idr" | "ils" | "inr" | "jmd" | "jod" | "jpy" | "kes" | "khr" | "krw" | "kwd" | "lkr" | "mad" | "mdl" | "mga" | "mkd" | "mnt" | "mop" | "mur" | "mxn" | "myr" | "nad" | "ngn" | "nok" | "nzd" | "omr" | "pen" | "php" | "pkr" | "pln" | "pyg" | "qar" | "ron" | "rsd" | "rub" | "rwf" | "sar" | "sek" | "sgd" | "thb" | "tnd" | "try" | "ttd" | "twd" | "tzs" | "usd" | "uyu" | "uzs" | "vnd" | "xcd" | "xof" | "zar";
/** Autogenerated input type of DeleteAssessmentQuestionImage */
interface DeleteAssessmentQuestionImageInput$1 {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The ID of the attachment to delete */
    id: Scalars$1["ID"]["input"];
}
/** Autogenerated input type of DeleteChapter */
interface DeleteChapterInput$1 {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The ID of the chapter to delete */
    id: Scalars$1["ID"]["input"];
}
/** Autogenerated input type of DeleteLessonAttachment */
interface DeleteLessonAttachmentInput$1 {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The ID of the attachment to delete */
    id: Scalars$1["ID"]["input"];
}
/** Autogenerated input type of DeleteLesson */
interface DeleteLessonInput$1 {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The ID of the lesson to delete */
    id: Scalars$1["ID"]["input"];
}
/** Autogenerated input type of DirectUpload */
interface DirectUploadInput$1 {
    /** The size of the file in bytes */
    byteSize?: InputMaybe$1<Scalars$1["Int"]["input"]>;
    /** The size of the file in bytes */
    byteSizeV2?: InputMaybe$1<Scalars$1["BigInt"]["input"]>;
    /** The checksum of the file */
    checksum: Scalars$1["String"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The content type of the file */
    contentType?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The filename of the file */
    filename: Scalars$1["String"]["input"];
    /** The metadata of the file */
    metadata?: InputMaybe$1<Scalars$1["JSON"]["input"]>;
    /** Whether or not to use multipart upload. The file must be larger than 5MB */
    multipart?: InputMaybe$1<Scalars$1["Boolean"]["input"]>;
    /** The type of record to attach the file to */
    record: AttachableRecords$1;
}
/** The direction of the sort. */
type Direction$1 = "asc" | "desc";
/** The types of post */
type DmsPostTypes$1 = "automated" | "regular" | "system";
/** The different industry types a company can be in. */
type IndustryTypes$1 = 
/** Accessories */
"accessories"
/** Agencies */
 | "agencies"
/** Ai */
 | "ai"
/** Ai Agency */
 | "ai_agency"
/** Amazon Fba */
 | "amazon_fba"
/** Auto Repair Shop */
 | "auto_repair_shop"
/** Beauty And Personal Care */
 | "beauty_and_personal_care"
/** Bootcamps */
 | "bootcamps"
/** Business */
 | "business"
/** Careers */
 | "careers"
/** Clipping */
 | "clipping"
/** Clipping Agency */
 | "clipping_agency"
/** Clothing */
 | "clothing"
/** Coaching Agency */
 | "coaching_agency"
/** Coffee Shop */
 | "coffee_shop"
/** Concerts */
 | "concerts"
/** Convention */
 | "convention"
/** Customer Support Agency */
 | "customer_support_agency"
/** Dating */
 | "dating"
/** Design Agency */
 | "design_agency"
/** Development Agency */
 | "development_agency"
/** Ecommerce */
 | "ecommerce"
/** Electronics And Gadgets */
 | "electronics_and_gadgets"
/** Fitness */
 | "fitness"
/** Fitness Gear */
 | "fitness_gear"
/** Food And Beverages */
 | "food_and_beverages"
/** Gym */
 | "gym"
/** Health And Wellness */
 | "health_and_wellness"
/** Home Goods */
 | "home_goods"
/** Home Services */
 | "home_services"
/** Hotel Lodging */
 | "hotel_lodging"
/** Kindle Book Publishing */
 | "kindle_book_publishing"
/** Marketing Agency */
 | "marketing_agency"
/** Masterminds */
 | "masterminds"
/** Medical Dentist Office */
 | "medical_dentist_office"
/** Meetups */
 | "meetups"
/** Other */
 | "other"
/** Parties */
 | "parties"
/** Personal Development */
 | "personal_development"
/** Personal Finance */
 | "personal_finance"
/** Public Speaking */
 | "public_speaking"
/** Real Estate */
 | "real_estate"
/** Recruiting Agency */
 | "recruiting_agency"
/** Reselling */
 | "reselling"
/** Restaurant */
 | "restaurant"
/** Retail Store */
 | "retail_store"
/** Sales */
 | "sales"
/** Sales Agency */
 | "sales_agency"
/** Salon Spa */
 | "salon_spa"
/** Social Media */
 | "social_media"
/** Software */
 | "software"
/** Spirituality */
 | "spirituality"
/** Sports Betting */
 | "sports_betting"
/** Supplements */
 | "supplements"
/** Trading */
 | "trading"
/** Travel */
 | "travel"
/** Vas */
 | "vas"
/** Video Games */
 | "video_games"
/** Webinars */
 | "webinars";
/** The available languages for a course */
type Languages$1 = 
/** Bg */
"bg"
/** Ca */
 | "ca"
/** Cs */
 | "cs"
/** Da */
 | "da"
/** De */
 | "de"
/** El */
 | "el"
/** En */
 | "en"
/** Es */
 | "es"
/** Fi */
 | "fi"
/** Fr */
 | "fr"
/** Hr */
 | "hr"
/** It */
 | "it"
/** Nl */
 | "nl"
/** No */
 | "no"
/** Pl */
 | "pl"
/** Pt */
 | "pt"
/** Ro */
 | "ro"
/** Ru */
 | "ru"
/** Sk */
 | "sk"
/** Sv */
 | "sv"
/** Tr */
 | "tr"
/** Uk */
 | "uk";
/** The available types for a lesson */
type LessonTypes$1 = 
/** Knowledge check */
"knowledge_check"
/** Multi */
 | "multi"
/** Pdf */
 | "pdf"
/** Quiz */
 | "quiz"
/** Text */
 | "text"
/** Video */
 | "video";
/** The available visibilities for a lesson. Determines how / whether a lesson is visible to users. */
type LessonVisibilities$1 = 
/** Hidden */
"hidden"
/** Visible */
 | "visible";
/** Autogenerated input type of MarkLessonAsCompleted */
interface MarkLessonAsCompletedInput$1 {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The ID of the lesson to mark as completed */
    lessonId: Scalars$1["ID"]["input"];
}
type Media$1 = "audio" | "image" | "other" | "video";
/** Autogenerated input type of MoveCourse */
interface MoveCourseInput$1 {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The ID of the course to move */
    courseId: Scalars$1["ID"]["input"];
    /** The experience to move the course into */
    destinationExperienceId: Scalars$1["ID"]["input"];
}
/** Mux asset statuses */
type MuxAssetStatuses$1 = 
/** Created */
"created"
/** Ready */
 | "ready"
/** Uploading */
 | "uploading";
/** The type of plan that can be attached to an access pass */
type PlanTypes$1 = 
/** One Time */
"one_time"
/** Renewal */
 | "renewal";
/** The methods of how a plan can be released (including raffles and waitlists). */
type ReleaseMethod$1 = 
/** Buy Now */
"buy_now"
/** Raffle */
 | "raffle"
/** Waitlist */
 | "waitlist";
/** Autogenerated input type of UpdateChapter */
interface UpdateChapterInput$1 {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The ID of the chapter to update */
    id: Scalars$1["ID"]["input"];
    /** The title of the chapter */
    title: Scalars$1["String"]["input"];
}
/** Autogenerated input type of UpdateChapterOrder */
interface UpdateChapterOrderInput$1 {
    /** The ID of the chapter to place this chapter below */
    belowChapterId?: InputMaybe$1<Scalars$1["ID"]["input"]>;
    /** The ID of the chapter to reorder */
    chapterId: Scalars$1["ID"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
}
/** Autogenerated input type of UpdateLesson */
interface UpdateLessonInput$1 {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The content of the lesson */
    content?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** Days from course start until unlock */
    daysFromCourseStartUntilUnlock?: InputMaybe$1<Scalars$1["Int"]["input"]>;
    /** The ID of the lesson to update */
    id: Scalars$1["ID"]["input"];
    /** The type of the lesson */
    lessonType?: InputMaybe$1<LessonTypes$1>;
    /** The ID of the Mux asset to attach to this lesson */
    muxAssetId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The title of the lesson */
    title?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** Determines how / whether this lesson is visible to users. */
    visibility?: InputMaybe$1<LessonVisibilities$1>;
}
/** Autogenerated input type of UpdateLessonOrder */
interface UpdateLessonOrderInput$1 {
    /** The ID of the lesson to place this lesson below */
    belowLessonId?: InputMaybe$1<Scalars$1["ID"]["input"]>;
    /** The ID of the chapter to move the lesson to */
    chapterId: Scalars$1["ID"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe$1<Scalars$1["String"]["input"]>;
    /** The ID of the lesson to reorder */
    lessonId: Scalars$1["ID"]["input"];
}
interface UploadPartInput$1 {
    /** The ETag of the part */
    etag: Scalars$1["String"]["input"];
    /** The part number of the part */
    partNumber: Scalars$1["Int"]["input"];
}
/** The different types of upsells an experience can have. */
type UpsellTypes$1 = 
/** After Checkout */
"after_checkout"
/** Before Checkout */
 | "before_checkout"
/** Only In Whop */
 | "only_in_whop";
/** Visibility of a resource */
type Visibility$1 = 
/** Archived */
"archived"
/** Hidden */
 | "hidden"
/** Quick Link */
 | "quick_link"
/** Visible */
 | "visible";
type Attachment_AudioAttachment_Fragment$1 = {
    __typename: "AudioAttachment";
    duration?: number | null;
    waveformUrl?: string | null;
    id: string;
    signedId?: string | null;
    analyzed: boolean;
    byteSizeV2?: string | null;
    filename?: string | null;
    contentType?: string | null;
    source: {
        __typename?: "AttachmentSource";
        url: string;
    };
};
type Attachment_ImageAttachment_Fragment$1 = {
    __typename: "ImageAttachment";
    height?: number | null;
    width?: number | null;
    blurhash?: string | null;
    aspectRatio?: number | null;
    id: string;
    signedId?: string | null;
    analyzed: boolean;
    byteSizeV2?: string | null;
    filename?: string | null;
    contentType?: string | null;
    source: {
        __typename?: "AttachmentSource";
        url: string;
    };
};
type Attachment_OtherAttachment_Fragment$1 = {
    __typename: "OtherAttachment";
    id: string;
    signedId?: string | null;
    analyzed: boolean;
    byteSizeV2?: string | null;
    filename?: string | null;
    contentType?: string | null;
    source: {
        __typename?: "AttachmentSource";
        url: string;
    };
};
type Attachment_VideoAttachment_Fragment$1 = {
    __typename: "VideoAttachment";
    height?: number | null;
    width?: number | null;
    duration?: number | null;
    aspectRatio?: number | null;
    id: string;
    signedId?: string | null;
    analyzed: boolean;
    byteSizeV2?: string | null;
    filename?: string | null;
    contentType?: string | null;
    preview: {
        __typename?: "AttachmentSource";
        url: string;
    };
    source: {
        __typename?: "AttachmentSource";
        url: string;
    };
};
type AttachmentFragment$1 = Attachment_AudioAttachment_Fragment$1 | Attachment_ImageAttachment_Fragment$1 | Attachment_OtherAttachment_Fragment$1 | Attachment_VideoAttachment_Fragment$1;
type GetAccessPassQueryVariables$1 = Exact$1<{
    accessPassId: Scalars$1["ID"]["input"];
}>;
type GetAccessPassQuery$1 = {
    __typename?: "PublicQuery";
    accessPass: {
        __typename?: "PublicAccessPass";
        headline?: string | null;
        reviewsAverage: number;
        id: string;
        title: string;
        shortenedDescription?: string | null;
        verified: boolean;
        visibility: Visibility$1;
        route: string;
        activeUsersCount: number;
        bannerImage?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
        company: {
            __typename?: "PublicCompany";
            id: string;
            title: string;
            route: string;
            logo?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
            bannerImage?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
        };
        ownerUser: {
            __typename?: "PublicProfileUser";
            id: string;
            name?: string | null;
            username: string;
            phoneVerified: boolean;
            city?: string | null;
            country?: string | null;
            profilePicture?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
        };
        galleryImages: {
            __typename?: "AttachmentInterfaceConnection";
            nodes?: Array<{
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null> | null;
        };
        logo?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
    };
};
type GetAttachmentQueryVariables$1 = Exact$1<{
    id: Scalars$1["ID"]["input"];
}>;
type GetAttachmentQuery$1 = {
    __typename?: "PublicQuery";
    attachment: {
        __typename: "AudioAttachment";
        duration?: number | null;
        waveformUrl?: string | null;
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename: "ImageAttachment";
        height?: number | null;
        width?: number | null;
        blurhash?: string | null;
        aspectRatio?: number | null;
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename: "OtherAttachment";
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename: "VideoAttachment";
        height?: number | null;
        width?: number | null;
        duration?: number | null;
        aspectRatio?: number | null;
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        preview: {
            __typename?: "AttachmentSource";
            url: string;
        };
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    };
};
type ProcessAttachmentMutationVariables$1 = Exact$1<{
    input: AnalyzeAttachmentInput$1;
}>;
type ProcessAttachmentMutation$1 = {
    __typename?: "PublicMutation";
    mediaAnalyzeAttachment?: boolean | null;
};
type UploadMediaMutationVariables$1 = Exact$1<{
    input: DirectUploadInput$1;
}>;
type UploadMediaMutation$1 = {
    __typename?: "PublicMutation";
    mediaDirectUpload?: {
        __typename?: "DirectUpload";
        id: string;
        headers: {
            [key: string]: any;
        };
        uploadUrl?: string | null;
        multipartUploadId?: string | null;
        multipartUploadUrls?: Array<{
            __typename?: "MultipartUrl";
            partNumber: number;
            url: string;
        }> | null;
    } | null;
};
type GetCompanyQueryVariables$1 = Exact$1<{
    companyId: Scalars$1["ID"]["input"];
}>;
type GetCompanyQuery$1 = {
    __typename?: "PublicQuery";
    company: {
        __typename?: "PublicCompany";
        industryType?: IndustryTypes$1 | null;
        businessType?: BusinessTypes$1 | null;
        id: string;
        title: string;
        route: string;
        logo?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
        bannerImage?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
    };
};
type CreateAssessmentQuestionMutationVariables$1 = Exact$1<{
    input: CreateAssessmentQuestionInput$1;
}>;
type CreateAssessmentQuestionMutation$1 = {
    __typename?: "PublicMutation";
    createAssessmentQuestion?: {
        __typename?: "AssessmentQuestion";
        id: string;
        correctAnswer: string;
        order: number;
        questionText: string;
        questionType: CoursesAssessmentQuestionTypes$1;
        image?: {
            __typename: "AudioAttachment";
            duration?: number | null;
            waveformUrl?: string | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "ImageAttachment";
            height?: number | null;
            width?: number | null;
            blurhash?: string | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "OtherAttachment";
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "VideoAttachment";
            height?: number | null;
            width?: number | null;
            duration?: number | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            preview: {
                __typename?: "AttachmentSource";
                url: string;
            };
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | null;
        options: Array<{
            __typename?: "AssessmentQuestionOption";
            id: string;
            isCorrect: boolean;
            optionText: string;
            order: number;
        }>;
    } | null;
};
type CreateChapterMutationVariables$1 = Exact$1<{
    input: CreateChapterInput$1;
}>;
type CreateChapterMutation$1 = {
    __typename?: "PublicMutation";
    createChapter?: {
        __typename?: "Chapter";
        id: string;
        title: string;
        order: number;
        lessons: Array<{
            __typename?: "Lesson";
            id: string;
            lessonType: LessonTypes$1;
            title: string;
            order: number;
            visibility: LessonVisibilities$1;
            daysFromCourseStartUntilUnlock?: number | null;
            content?: string | null;
            muxAsset?: {
                __typename?: "MuxAsset";
                id: string;
                muxAssetId?: string | null;
                playbackId?: string | null;
                signedPlaybackId?: string | null;
                signedThumbnailPlaybackToken?: string | null;
                signedVideoPlaybackToken?: string | null;
                signedStoryboardPlaybackToken?: string | null;
                durationSeconds?: number | null;
                status: MuxAssetStatuses$1;
                finishedUploadingAt?: number | null;
            } | null;
        }>;
    } | null;
};
type CreateCourseMutationVariables$1 = Exact$1<{
    input: CreateCourseInput$1;
}>;
type CreateCourseMutation$1 = {
    __typename?: "PublicMutation";
    createCourse?: {
        __typename?: "Course";
        certificateAfterCompletionEnabled?: boolean | null;
        coverImage?: string | null;
        description?: string | null;
        id: string;
        language: Languages$1;
        requireCompletingLessonsInOrder: boolean;
        tagline?: string | null;
        title?: string | null;
        videoProtectionEnabled: boolean;
        chapters: Array<{
            __typename?: "Chapter";
            id: string;
            title: string;
            order: number;
            lessons: Array<{
                __typename?: "Lesson";
                id: string;
                lessonType: LessonTypes$1;
                title: string;
                order: number;
                visibility: LessonVisibilities$1;
                daysFromCourseStartUntilUnlock?: number | null;
                content?: string | null;
                muxAsset?: {
                    __typename?: "MuxAsset";
                    id: string;
                    muxAssetId?: string | null;
                    playbackId?: string | null;
                    signedPlaybackId?: string | null;
                    signedThumbnailPlaybackToken?: string | null;
                    signedVideoPlaybackToken?: string | null;
                    signedStoryboardPlaybackToken?: string | null;
                    durationSeconds?: number | null;
                    status: MuxAssetStatuses$1;
                    finishedUploadingAt?: number | null;
                } | null;
            }>;
        }>;
    } | null;
};
type CreateLessonMutationVariables$1 = Exact$1<{
    input: CreateLessonInput$1;
}>;
type CreateLessonMutation$1 = {
    __typename?: "PublicMutation";
    createLesson?: {
        __typename?: "Lesson";
        id: string;
        lessonType: LessonTypes$1;
        title: string;
        order: number;
        visibility: LessonVisibilities$1;
        content?: string | null;
        daysFromCourseStartUntilUnlock?: number | null;
        muxAsset?: {
            __typename?: "MuxAsset";
            id: string;
            muxAssetId?: string | null;
            playbackId?: string | null;
            signedPlaybackId?: string | null;
            signedThumbnailPlaybackToken?: string | null;
            signedVideoPlaybackToken?: string | null;
            signedStoryboardPlaybackToken?: string | null;
            durationSeconds?: number | null;
            status: MuxAssetStatuses$1;
            finishedUploadingAt?: number | null;
        } | null;
        assessmentQuestions: Array<{
            __typename?: "AssessmentQuestion";
            id: string;
            correctAnswer: string;
            order: number;
            questionText: string;
            questionType: CoursesAssessmentQuestionTypes$1;
            image?: {
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null;
            options: Array<{
                __typename?: "AssessmentQuestionOption";
                id: string;
                isCorrect: boolean;
                optionText: string;
                order: number;
            }>;
        }>;
        attachments: {
            __typename?: "AttachmentInterfaceConnection";
            nodes?: Array<{
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null> | null;
        };
        mainPdf?: {
            __typename: "AudioAttachment";
            duration?: number | null;
            waveformUrl?: string | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "ImageAttachment";
            height?: number | null;
            width?: number | null;
            blurhash?: string | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "OtherAttachment";
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "VideoAttachment";
            height?: number | null;
            width?: number | null;
            duration?: number | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            preview: {
                __typename?: "AttachmentSource";
                url: string;
            };
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | null;
    } | null;
};
type DeleteAssessmentQuestionImageMutationVariables$1 = Exact$1<{
    input: DeleteAssessmentQuestionImageInput$1;
}>;
type DeleteAssessmentQuestionImageMutation$1 = {
    __typename?: "PublicMutation";
    deleteAssessmentQuestionImage?: boolean | null;
};
type DeleteChapterMutationVariables$1 = Exact$1<{
    input: DeleteChapterInput$1;
}>;
type DeleteChapterMutation$1 = {
    __typename?: "PublicMutation";
    deleteChapter?: boolean | null;
};
type DeleteLessonAttachmentMutationVariables$1 = Exact$1<{
    input: DeleteLessonAttachmentInput$1;
}>;
type DeleteLessonAttachmentMutation$1 = {
    __typename?: "PublicMutation";
    deleteLessonAttachment?: boolean | null;
};
type DeleteLessonMutationVariables$1 = Exact$1<{
    input: DeleteLessonInput$1;
}>;
type DeleteLessonMutation$1 = {
    __typename?: "PublicMutation";
    deleteLesson?: boolean | null;
};
type GetCourseQueryVariables$1 = Exact$1<{
    courseId: Scalars$1["ID"]["input"];
}>;
type GetCourseQuery$1 = {
    __typename?: "PublicQuery";
    course?: {
        __typename?: "Course";
        certificateAfterCompletionEnabled?: boolean | null;
        coverImage?: string | null;
        description?: string | null;
        id: string;
        language: Languages$1;
        requireCompletingLessonsInOrder: boolean;
        tagline?: string | null;
        title?: string | null;
        videoProtectionEnabled: boolean;
        chapters: Array<{
            __typename?: "Chapter";
            id: string;
            title: string;
            order: number;
            lessons: Array<{
                __typename?: "Lesson";
                id: string;
                lessonType: LessonTypes$1;
                title: string;
                order: number;
                visibility: LessonVisibilities$1;
                daysFromCourseStartUntilUnlock?: number | null;
                content?: string | null;
                muxAsset?: {
                    __typename?: "MuxAsset";
                    id: string;
                    muxAssetId?: string | null;
                    playbackId?: string | null;
                    signedPlaybackId?: string | null;
                    signedThumbnailPlaybackToken?: string | null;
                    signedVideoPlaybackToken?: string | null;
                    signedStoryboardPlaybackToken?: string | null;
                    durationSeconds?: number | null;
                    status: MuxAssetStatuses$1;
                    finishedUploadingAt?: number | null;
                } | null;
            }>;
        }>;
    } | null;
};
type GetLessonQueryVariables$1 = Exact$1<{
    courseId: Scalars$1["ID"]["input"];
    lessonId: Scalars$1["ID"]["input"];
}>;
type GetLessonQuery$1 = {
    __typename?: "PublicQuery";
    course?: {
        __typename?: "Course";
        lesson?: {
            __typename?: "Lesson";
            id: string;
            lessonType: LessonTypes$1;
            title: string;
            order: number;
            visibility: LessonVisibilities$1;
            content?: string | null;
            daysFromCourseStartUntilUnlock?: number | null;
            muxAsset?: {
                __typename?: "MuxAsset";
                id: string;
                muxAssetId?: string | null;
                playbackId?: string | null;
                signedPlaybackId?: string | null;
                signedThumbnailPlaybackToken?: string | null;
                signedVideoPlaybackToken?: string | null;
                signedStoryboardPlaybackToken?: string | null;
                durationSeconds?: number | null;
                status: MuxAssetStatuses$1;
                finishedUploadingAt?: number | null;
            } | null;
            assessmentQuestions: Array<{
                __typename?: "AssessmentQuestion";
                id: string;
                correctAnswer: string;
                order: number;
                questionText: string;
                questionType: CoursesAssessmentQuestionTypes$1;
                image?: {
                    __typename: "AudioAttachment";
                    duration?: number | null;
                    waveformUrl?: string | null;
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename: "ImageAttachment";
                    height?: number | null;
                    width?: number | null;
                    blurhash?: string | null;
                    aspectRatio?: number | null;
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename: "OtherAttachment";
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename: "VideoAttachment";
                    height?: number | null;
                    width?: number | null;
                    duration?: number | null;
                    aspectRatio?: number | null;
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    preview: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | null;
                options: Array<{
                    __typename?: "AssessmentQuestionOption";
                    id: string;
                    isCorrect: boolean;
                    optionText: string;
                    order: number;
                }>;
            }>;
            attachments: {
                __typename?: "AttachmentInterfaceConnection";
                nodes?: Array<{
                    __typename: "AudioAttachment";
                    duration?: number | null;
                    waveformUrl?: string | null;
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename: "ImageAttachment";
                    height?: number | null;
                    width?: number | null;
                    blurhash?: string | null;
                    aspectRatio?: number | null;
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename: "OtherAttachment";
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename: "VideoAttachment";
                    height?: number | null;
                    width?: number | null;
                    duration?: number | null;
                    aspectRatio?: number | null;
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    preview: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | null> | null;
            };
            mainPdf?: {
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null;
        } | null;
    } | null;
};
type GetUserLessonInteractionsQueryVariables$1 = Exact$1<{
    courseId: Scalars$1["ID"]["input"];
}>;
type GetUserLessonInteractionsQuery$1 = {
    __typename?: "PublicQuery";
    course?: {
        __typename?: "Course";
        chapters: Array<{
            __typename?: "Chapter";
            id: string;
            lessons: Array<{
                __typename?: "Lesson";
                id: string;
                lessonInteraction?: {
                    __typename?: "LessonInteraction";
                    id: string;
                    completed: boolean;
                    createdAt: number;
                } | null;
            }>;
        }>;
    } | null;
};
type ListCoursesForCompanyQueryVariables$1 = Exact$1<{
    companyId: Scalars$1["ID"]["input"];
    first?: InputMaybe$1<Scalars$1["Int"]["input"]>;
    after?: InputMaybe$1<Scalars$1["String"]["input"]>;
}>;
type ListCoursesForCompanyQuery$1 = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        courses: {
            __typename?: "CourseConnection";
            totalCount: number;
            nodes?: Array<{
                __typename?: "Course";
                id: string;
                title?: string | null;
                coverImage?: string | null;
                experience: {
                    __typename?: "PublicExperience";
                    id: string;
                    accessPasses: Array<{
                        __typename?: "PublicAccessPass";
                        id: string;
                        title: string;
                    }>;
                };
            } | null> | null;
            pageInfo: {
                __typename?: "PageInfo";
                hasNextPage: boolean;
                endCursor?: string | null;
            };
        };
    } | null;
};
type ListCoursesForExperienceQueryVariables$1 = Exact$1<{
    experienceId: Scalars$1["ID"]["input"];
    first?: InputMaybe$1<Scalars$1["Int"]["input"]>;
    after?: InputMaybe$1<Scalars$1["String"]["input"]>;
}>;
type ListCoursesForExperienceQuery$1 = {
    __typename?: "PublicQuery";
    publicExperience: {
        __typename?: "PublicExperience";
        courses: {
            __typename?: "CourseConnection";
            totalCount: number;
            nodes?: Array<{
                __typename?: "Course";
                certificateAfterCompletionEnabled?: boolean | null;
                coverImage?: string | null;
                description?: string | null;
                id: string;
                language: Languages$1;
                requireCompletingLessonsInOrder: boolean;
                tagline?: string | null;
                title?: string | null;
                videoProtectionEnabled: boolean;
                chapters: Array<{
                    __typename?: "Chapter";
                    id: string;
                    title: string;
                    order: number;
                    lessons: Array<{
                        __typename?: "Lesson";
                        id: string;
                        lessonType: LessonTypes$1;
                        title: string;
                        order: number;
                        visibility: LessonVisibilities$1;
                        daysFromCourseStartUntilUnlock?: number | null;
                        content?: string | null;
                        muxAsset?: {
                            __typename?: "MuxAsset";
                            id: string;
                            muxAssetId?: string | null;
                            playbackId?: string | null;
                            signedPlaybackId?: string | null;
                            signedThumbnailPlaybackToken?: string | null;
                            signedVideoPlaybackToken?: string | null;
                            signedStoryboardPlaybackToken?: string | null;
                            durationSeconds?: number | null;
                            status: MuxAssetStatuses$1;
                            finishedUploadingAt?: number | null;
                        } | null;
                    }>;
                }>;
            } | null> | null;
            pageInfo: {
                __typename?: "PageInfo";
                hasNextPage: boolean;
                endCursor?: string | null;
            };
        };
    };
};
type MarkLessonAsCompletedMutationVariables$1 = Exact$1<{
    input: MarkLessonAsCompletedInput$1;
}>;
type MarkLessonAsCompletedMutation$1 = {
    __typename?: "PublicMutation";
    markLessonAsCompleted?: boolean | null;
};
type MoveCourseMutationVariables$1 = Exact$1<{
    input: MoveCourseInput$1;
}>;
type MoveCourseMutation$1 = {
    __typename?: "PublicMutation";
    moveCourse?: boolean | null;
};
type UpdateChapterOrderMutationVariables$1 = Exact$1<{
    input: UpdateChapterOrderInput$1;
}>;
type UpdateChapterOrderMutation$1 = {
    __typename?: "PublicMutation";
    updateChapterOrder?: {
        __typename?: "Chapter";
        id: string;
        title: string;
        order: number;
        lessons: Array<{
            __typename?: "Lesson";
            id: string;
            lessonType: LessonTypes$1;
            title: string;
            order: number;
            visibility: LessonVisibilities$1;
            daysFromCourseStartUntilUnlock?: number | null;
            content?: string | null;
            muxAsset?: {
                __typename?: "MuxAsset";
                id: string;
                muxAssetId?: string | null;
                playbackId?: string | null;
                signedPlaybackId?: string | null;
                signedThumbnailPlaybackToken?: string | null;
                signedVideoPlaybackToken?: string | null;
                signedStoryboardPlaybackToken?: string | null;
                durationSeconds?: number | null;
                status: MuxAssetStatuses$1;
                finishedUploadingAt?: number | null;
            } | null;
        }>;
    } | null;
};
type UpdateChapterMutationVariables$1 = Exact$1<{
    input: UpdateChapterInput$1;
}>;
type UpdateChapterMutation$1 = {
    __typename?: "PublicMutation";
    updateChapter?: {
        __typename?: "Chapter";
        id: string;
        title: string;
        order: number;
        lessons: Array<{
            __typename?: "Lesson";
            id: string;
            lessonType: LessonTypes$1;
            title: string;
            order: number;
            visibility: LessonVisibilities$1;
            daysFromCourseStartUntilUnlock?: number | null;
            content?: string | null;
            muxAsset?: {
                __typename?: "MuxAsset";
                id: string;
                muxAssetId?: string | null;
                playbackId?: string | null;
                signedPlaybackId?: string | null;
                signedThumbnailPlaybackToken?: string | null;
                signedVideoPlaybackToken?: string | null;
                signedStoryboardPlaybackToken?: string | null;
                durationSeconds?: number | null;
                status: MuxAssetStatuses$1;
                finishedUploadingAt?: number | null;
            } | null;
        }>;
    } | null;
};
type UpdateLessonOrderMutationVariables$1 = Exact$1<{
    input: UpdateLessonOrderInput$1;
}>;
type UpdateLessonOrderMutation$1 = {
    __typename?: "PublicMutation";
    updateLessonOrder?: {
        __typename?: "Lesson";
        id: string;
        lessonType: LessonTypes$1;
        title: string;
        order: number;
        visibility: LessonVisibilities$1;
        content?: string | null;
        daysFromCourseStartUntilUnlock?: number | null;
        muxAsset?: {
            __typename?: "MuxAsset";
            id: string;
            muxAssetId?: string | null;
            playbackId?: string | null;
            signedPlaybackId?: string | null;
            signedThumbnailPlaybackToken?: string | null;
            signedVideoPlaybackToken?: string | null;
            signedStoryboardPlaybackToken?: string | null;
            durationSeconds?: number | null;
            status: MuxAssetStatuses$1;
            finishedUploadingAt?: number | null;
        } | null;
        assessmentQuestions: Array<{
            __typename?: "AssessmentQuestion";
            id: string;
            correctAnswer: string;
            order: number;
            questionText: string;
            questionType: CoursesAssessmentQuestionTypes$1;
            image?: {
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null;
            options: Array<{
                __typename?: "AssessmentQuestionOption";
                id: string;
                isCorrect: boolean;
                optionText: string;
                order: number;
            }>;
        }>;
        attachments: {
            __typename?: "AttachmentInterfaceConnection";
            nodes?: Array<{
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null> | null;
        };
        mainPdf?: {
            __typename: "AudioAttachment";
            duration?: number | null;
            waveformUrl?: string | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "ImageAttachment";
            height?: number | null;
            width?: number | null;
            blurhash?: string | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "OtherAttachment";
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "VideoAttachment";
            height?: number | null;
            width?: number | null;
            duration?: number | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            preview: {
                __typename?: "AttachmentSource";
                url: string;
            };
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | null;
    } | null;
};
type UpdateLessonMutationVariables$1 = Exact$1<{
    input: UpdateLessonInput$1;
}>;
type UpdateLessonMutation$1 = {
    __typename?: "PublicMutation";
    updateLesson?: {
        __typename?: "Lesson";
        id: string;
        lessonType: LessonTypes$1;
        title: string;
        order: number;
        visibility: LessonVisibilities$1;
        content?: string | null;
        daysFromCourseStartUntilUnlock?: number | null;
        muxAsset?: {
            __typename?: "MuxAsset";
            id: string;
            muxAssetId?: string | null;
            playbackId?: string | null;
            signedPlaybackId?: string | null;
            signedThumbnailPlaybackToken?: string | null;
            signedVideoPlaybackToken?: string | null;
            signedStoryboardPlaybackToken?: string | null;
            durationSeconds?: number | null;
            status: MuxAssetStatuses$1;
            finishedUploadingAt?: number | null;
        } | null;
        assessmentQuestions: Array<{
            __typename?: "AssessmentQuestion";
            id: string;
            correctAnswer: string;
            order: number;
            questionText: string;
            questionType: CoursesAssessmentQuestionTypes$1;
            image?: {
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null;
            options: Array<{
                __typename?: "AssessmentQuestionOption";
                id: string;
                isCorrect: boolean;
                optionText: string;
                order: number;
            }>;
        }>;
        attachments: {
            __typename?: "AttachmentInterfaceConnection";
            nodes?: Array<{
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null> | null;
        };
        mainPdf?: {
            __typename: "AudioAttachment";
            duration?: number | null;
            waveformUrl?: string | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "ImageAttachment";
            height?: number | null;
            width?: number | null;
            blurhash?: string | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "OtherAttachment";
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "VideoAttachment";
            height?: number | null;
            width?: number | null;
            duration?: number | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            preview: {
                __typename?: "AttachmentSource";
                url: string;
            };
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | null;
    } | null;
};
type GetExperienceQueryVariables$1 = Exact$1<{
    experienceId: Scalars$1["ID"]["input"];
}>;
type GetExperienceQuery$1 = {
    __typename?: "PublicQuery";
    experience: {
        __typename?: "PublicExperience";
        upsellType?: UpsellTypes$1 | null;
        id: string;
        name: string;
        description?: string | null;
        upsellPlan?: {
            __typename?: "PublicPlan";
            id: string;
            baseCurrency: Currencies$1;
            rawRenewalPrice: number;
            rawInitialPrice: number;
            initialPriceDue: number;
            createdAt: number;
            updatedAt: number;
            billingPeriod?: number | null;
            trialPeriodDays?: number | null;
            expirationDays?: number | null;
            unlimitedStock: boolean;
            paymentLinkDescription?: string | null;
            releaseMethod: ReleaseMethod$1;
            stock?: number | null;
            visibility: Visibility$1;
            planType: PlanTypes$1;
        } | null;
        logo?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
        app: {
            __typename?: "PublicApp";
            id: string;
            name: string;
            icon?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
        };
        company: {
            __typename?: "PublicCompany";
            id: string;
            title: string;
            route: string;
            logo?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
            bannerImage?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
        };
    };
};
type ListUsersForExperienceQueryVariables$1 = Exact$1<{
    experienceId: Scalars$1["ID"]["input"];
    after?: InputMaybe$1<Scalars$1["String"]["input"]>;
    before?: InputMaybe$1<Scalars$1["String"]["input"]>;
    direction?: InputMaybe$1<Direction$1>;
    first?: InputMaybe$1<Scalars$1["Int"]["input"]>;
    searchQuery?: InputMaybe$1<Scalars$1["String"]["input"]>;
}>;
type ListUsersForExperienceQuery$1 = {
    __typename?: "PublicQuery";
    publicExperience: {
        __typename?: "PublicExperience";
        users?: {
            __typename?: "PublicProfileUserConnection";
            totalCount: number;
            nodes?: Array<{
                __typename?: "PublicProfileUser";
                id: string;
                username: string;
                profilePicture?: {
                    __typename?: "AudioAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "ImageAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "OtherAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "VideoAttachment";
                    sourceUrl?: string | null;
                } | null;
            } | null> | null;
            pageInfo: {
                __typename?: "PageInfo";
                endCursor?: string | null;
                hasNextPage: boolean;
                hasPreviousPage: boolean;
            };
        } | null;
    };
};
type ListForumPostsFromForumQueryVariables$1 = Exact$1<{
    experienceId: Scalars$1["ID"]["input"];
}>;
type ListForumPostsFromForumQuery$1 = {
    __typename?: "PublicQuery";
    feedPosts?: {
        __typename?: "FeedPostsResponse";
        posts: Array<{
            __typename?: "ChatFeed";
        } | {
            __typename?: "DmsFeed";
        } | {
            __typename?: "DmsFeedMember";
        } | {
            __typename?: "DmsPost";
        } | {
            __typename?: "ForumFeed";
        } | {
            __typename?: "ForumPost";
            id: string;
            createdAt: string;
            updatedAt: string;
            content?: string | null;
            richContent?: string | null;
            isDeleted: boolean;
            isEdited: boolean;
            mentionedUserIds: Array<string>;
            parentId?: string | null;
            viewCount?: number | null;
            isPinned: boolean;
            attachments: Array<{
                __typename?: "AudioAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            }>;
            user: {
                __typename?: "PublicProfileUser";
                id: string;
                name?: string | null;
                username: string;
                phoneVerified: boolean;
                city?: string | null;
                country?: string | null;
                profilePicture?: {
                    __typename?: "AudioAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "ImageAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "OtherAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "VideoAttachment";
                    sourceUrl?: string | null;
                } | null;
            };
        } | {
            __typename?: "LivestreamFeed";
        } | {
            __typename?: "MutedUser";
        } | {
            __typename?: "PublicLivestreamFeed";
        } | {
            __typename?: "Reaction";
        } | {
            __typename?: "ReactionCount";
        }>;
    } | null;
};
type ListMessagesFromChatQueryVariables$1 = Exact$1<{
    chatExperienceId?: InputMaybe$1<Scalars$1["ID"]["input"]>;
}>;
type ListMessagesFromChatQuery$1 = {
    __typename?: "PublicQuery";
    feedPosts?: {
        __typename?: "FeedPostsResponse";
        posts: Array<{
            __typename?: "ChatFeed";
        } | {
            __typename?: "DmsFeed";
        } | {
            __typename?: "DmsFeedMember";
        } | {
            __typename?: "DmsPost";
            id: string;
            createdAt: string;
            updatedAt: string;
            content?: string | null;
            richContent?: string | null;
            isDeleted: boolean;
            isEdited: boolean;
            isPinned: boolean;
            isEveryoneMentioned: boolean;
            mentionedUserIds: Array<string>;
            messageType: DmsPostTypes$1;
            replyingToPostId?: string | null;
            viewCount?: number | null;
            attachments: Array<{
                __typename?: "AudioAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            }>;
            user: {
                __typename?: "PublicProfileUser";
                id: string;
                name?: string | null;
                username: string;
                phoneVerified: boolean;
                city?: string | null;
                country?: string | null;
                profilePicture?: {
                    __typename?: "AudioAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "ImageAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "OtherAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "VideoAttachment";
                    sourceUrl?: string | null;
                } | null;
            };
        } | {
            __typename?: "ForumFeed";
        } | {
            __typename?: "ForumPost";
        } | {
            __typename?: "LivestreamFeed";
        } | {
            __typename?: "MutedUser";
        } | {
            __typename?: "PublicLivestreamFeed";
        } | {
            __typename?: "Reaction";
        } | {
            __typename?: "ReactionCount";
        }>;
    } | null;
};
type GetCurrentUserQueryVariables$1 = Exact$1<{
    [key: string]: never;
}>;
type GetCurrentUserQuery$1 = {
    __typename?: "PublicQuery";
    viewer: {
        __typename?: "Viewer";
        user: {
            __typename?: "User";
            bio?: string | null;
            phoneVerified: boolean;
            bannerImage?: string | null;
            createdAt: number;
            dateOfBirthDay?: number | null;
            dateOfBirthMonth?: number | null;
            dateOfBirthYear?: number | null;
            id: string;
            email?: string | null;
            name?: string | null;
            username: string;
            ledgerAccount: {
                __typename?: "LedgerAccount";
                id: string;
                transferFee?: number | null;
                balanceCaches: {
                    __typename?: "BalanceCacheConnection";
                    nodes?: Array<{
                        __typename?: "BalanceCache";
                        balance: number;
                        pendingBalance: number;
                        currency: Currencies$1;
                    } | null> | null;
                };
            };
            profilePicture?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
        };
    };
};
type GetUserLedgerAccountQueryVariables$1 = Exact$1<{
    [key: string]: never;
}>;
type GetUserLedgerAccountQuery$1 = {
    __typename?: "PublicQuery";
    viewer: {
        __typename?: "Viewer";
        user: {
            __typename?: "User";
            ledgerAccount: {
                __typename?: "LedgerAccount";
                id: string;
                transferFee?: number | null;
                balanceCaches: {
                    __typename?: "BalanceCacheConnection";
                    nodes?: Array<{
                        __typename?: "BalanceCache";
                        balance: number;
                        pendingBalance: number;
                        currency: Currencies$1;
                    } | null> | null;
                };
            };
        };
    };
};
type GetUserQueryVariables$1 = Exact$1<{
    userId: Scalars$1["ID"]["input"];
}>;
type GetUserQuery$1 = {
    __typename?: "PublicQuery";
    publicUser: {
        __typename?: "PublicProfileUser";
        bio?: string | null;
        phoneVerified: boolean;
        createdAt: number;
        id: string;
        name?: string | null;
        username: string;
        city?: string | null;
        country?: string | null;
        banner?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
        userStat?: {
            __typename?: "UserStat";
            moneyEarned24Hours?: number | null;
            moneyEarned30Days?: number | null;
            moneyEarned7Days?: number | null;
            moneyEarnedLifetime?: number | null;
        } | null;
        profilePicture?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
    };
};
type Requester$1<C = {}> = <R, V>(operationId: string, operationName: string, operationType: "query" | "mutation", vars?: V, options?: C) => Promise<R>;
type WithError$1<T> = T extends object ? T & {
    _error?: Error;
} : T;
declare function getSdk$1<C>(requester: Requester$1<C>): {
    accessPasses: {
        getAccessPass(variables: GetAccessPassQueryVariables$1, options?: C): Promise<WithError$1<GetAccessPassQuery$1["accessPass"]>>;
    };
    attachments: {
        getAttachment(variables: GetAttachmentQueryVariables$1, options?: C): Promise<WithError$1<GetAttachmentQuery$1["attachment"]>>;
        processAttachment(variables: ProcessAttachmentMutationVariables$1["input"], options?: C): Promise<WithError$1<ProcessAttachmentMutation$1["mediaAnalyzeAttachment"]>>;
        uploadMedia(variables: UploadMediaMutationVariables$1["input"], options?: C): Promise<WithError$1<UploadMediaMutation$1["mediaDirectUpload"]>>;
    };
    companies: {
        getCompany(variables: GetCompanyQueryVariables$1, options?: C): Promise<WithError$1<GetCompanyQuery$1["company"]>>;
    };
    courses: {
        createAssessmentQuestion(variables: CreateAssessmentQuestionMutationVariables$1["input"], options?: C): Promise<WithError$1<CreateAssessmentQuestionMutation$1["createAssessmentQuestion"]>>;
        createChapter(variables: CreateChapterMutationVariables$1["input"], options?: C): Promise<WithError$1<CreateChapterMutation$1["createChapter"]>>;
        createCourse(variables: CreateCourseMutationVariables$1["input"], options?: C): Promise<WithError$1<CreateCourseMutation$1["createCourse"]>>;
        createLesson(variables: CreateLessonMutationVariables$1["input"], options?: C): Promise<WithError$1<CreateLessonMutation$1["createLesson"]>>;
        deleteAssessmentQuestionImage(variables: DeleteAssessmentQuestionImageMutationVariables$1["input"], options?: C): Promise<WithError$1<DeleteAssessmentQuestionImageMutation$1["deleteAssessmentQuestionImage"]>>;
        deleteChapter(variables: DeleteChapterMutationVariables$1["input"], options?: C): Promise<WithError$1<DeleteChapterMutation$1["deleteChapter"]>>;
        deleteLessonAttachment(variables: DeleteLessonAttachmentMutationVariables$1["input"], options?: C): Promise<WithError$1<DeleteLessonAttachmentMutation$1["deleteLessonAttachment"]>>;
        deleteLesson(variables: DeleteLessonMutationVariables$1["input"], options?: C): Promise<WithError$1<DeleteLessonMutation$1["deleteLesson"]>>;
        getCourse(variables: GetCourseQueryVariables$1, options?: C): Promise<WithError$1<GetCourseQuery$1["course"]>>;
        getLesson(variables: GetLessonQueryVariables$1, options?: C): Promise<WithError$1<GetLessonQuery$1["course"]>>;
        getUserLessonInteractions(variables: GetUserLessonInteractionsQueryVariables$1, options?: C): Promise<WithError$1<GetUserLessonInteractionsQuery$1["course"]>>;
        listCoursesForCompany(variables: ListCoursesForCompanyQueryVariables$1, options?: C): Promise<WithError$1<ListCoursesForCompanyQuery$1["company"]>>;
        listCoursesForExperience(variables: ListCoursesForExperienceQueryVariables$1, options?: C): Promise<WithError$1<ListCoursesForExperienceQuery$1["publicExperience"]>>;
        markLessonAsCompleted(variables: MarkLessonAsCompletedMutationVariables$1["input"], options?: C): Promise<WithError$1<MarkLessonAsCompletedMutation$1["markLessonAsCompleted"]>>;
        moveCourse(variables: MoveCourseMutationVariables$1["input"], options?: C): Promise<WithError$1<MoveCourseMutation$1["moveCourse"]>>;
        updateChapterOrder(variables: UpdateChapterOrderMutationVariables$1["input"], options?: C): Promise<WithError$1<UpdateChapterOrderMutation$1["updateChapterOrder"]>>;
        updateChapter(variables: UpdateChapterMutationVariables$1["input"], options?: C): Promise<WithError$1<UpdateChapterMutation$1["updateChapter"]>>;
        updateLessonOrder(variables: UpdateLessonOrderMutationVariables$1["input"], options?: C): Promise<WithError$1<UpdateLessonOrderMutation$1["updateLessonOrder"]>>;
        updateLesson(variables: UpdateLessonMutationVariables$1["input"], options?: C): Promise<WithError$1<UpdateLessonMutation$1["updateLesson"]>>;
    };
    experiences: {
        getExperience(variables: GetExperienceQueryVariables$1, options?: C): Promise<WithError$1<GetExperienceQuery$1["experience"]>>;
        listUsersForExperience(variables: ListUsersForExperienceQueryVariables$1, options?: C): Promise<WithError$1<ListUsersForExperienceQuery$1["publicExperience"]>>;
    };
    forums: {
        listForumPostsFromForum(variables: ListForumPostsFromForumQueryVariables$1, options?: C): Promise<WithError$1<ListForumPostsFromForumQuery$1["feedPosts"]>>;
    };
    messages: {
        listMessagesFromChat(variables?: ListMessagesFromChatQueryVariables$1, options?: C): Promise<WithError$1<ListMessagesFromChatQuery$1["feedPosts"]>>;
    };
    users: {
        getCurrentUser(variables?: GetCurrentUserQueryVariables$1, options?: C): Promise<WithError$1<GetCurrentUserQuery$1["viewer"]>>;
        getUserLedgerAccount(variables?: GetUserLedgerAccountQueryVariables$1, options?: C): Promise<WithError$1<GetUserLedgerAccountQuery$1["viewer"]>>;
        getUser(variables: GetUserQueryVariables$1, options?: C): Promise<WithError$1<GetUserQuery$1["publicUser"]>>;
    };
};
type Sdk$1 = ReturnType<typeof getSdk$1>;

/**
 * Prepares a file for upload.
 * @param data The file to upload.
 * @param record The record to upload the file to.
 * @returns The prepared file.
 */
declare function prepareAttachmentForUpload(this: Sdk$1, data: File | Blob, record: AttachableRecords$1): Promise<{
    data: File | Blob;
    id: string;
    multipartUploadUrls: {
        __typename?: "MultipartUrl";
        partNumber: number;
        url: string;
    }[];
    multipartUploadId: string;
    record: AttachableRecords$1;
    multipart: true;
    uploadUrl?: undefined;
    headers?: undefined;
} | {
    data: File | Blob;
    id: string;
    uploadUrl: string;
    headers: Record<string, string>;
    record: AttachableRecords$1;
    multipart: false;
    multipartUploadUrls?: undefined;
    multipartUploadId?: undefined;
}>;
type PreparedAttachment = Awaited<ReturnType<typeof prepareAttachmentForUpload>>;

/**
 * A task to upload a part of a file.
 */
interface MultipartUploadTask {
    url: string;
    fullData: File | Blob;
    partNumber: number;
    headers?: Record<string, string>;
    onProgress?: (progress: Pick<ProgressEvent, "loaded" | "total">) => void;
    signal?: AbortSignal;
}
type UploadPartFunction = (task: MultipartUploadTask) => Promise<string>;

type BaseSdk = ReturnType<typeof getSdk$1<RequestInit>>;
declare function partialFileSdkExtensions(baseSdk: BaseSdk): {
    prepareAttachmentForUpload: (data: File | Blob, record: AttachableRecords$1) => Promise<{
        data: File | Blob;
        id: string;
        multipartUploadUrls: {
            __typename?: "MultipartUrl";
            partNumber: number;
            url: string;
        }[];
        multipartUploadId: string;
        record: AttachableRecords$1;
        multipart: true;
        uploadUrl?: undefined;
        headers?: undefined;
    } | {
        data: File | Blob;
        id: string;
        uploadUrl: string;
        headers: Record<string, string>;
        record: AttachableRecords$1;
        multipart: false;
        multipartUploadUrls?: undefined;
        multipartUploadId?: undefined;
    }>;
    analyzeAttachment: (signedId: string, opts?: {
        signal?: AbortSignal;
    } | undefined) => Promise<({
        __typename: "AudioAttachment";
        duration?: number | null;
        waveformUrl?: string | null;
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } & {
        _error?: Error;
    }) | ({
        __typename: "ImageAttachment";
        height?: number | null;
        width?: number | null;
        blurhash?: string | null;
        aspectRatio?: number | null;
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } & {
        _error?: Error;
    }) | ({
        __typename: "OtherAttachment";
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } & {
        _error?: Error;
    }) | ({
        __typename: "VideoAttachment";
        height?: number | null;
        width?: number | null;
        duration?: number | null;
        aspectRatio?: number | null;
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        preview: {
            __typename?: "AttachmentSource";
            url: string;
        };
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } & {
        _error?: Error;
    }) | undefined>;
};
type PartialFileSdkExtensions = ReturnType<typeof partialFileSdkExtensions>;

/**
 * The file input for the attachment upload.
 */
type UploadFileInput = {
    file: File | Blob;
    record: AttachableRecords$1;
} | PreparedAttachment | Promise<PreparedAttachment>;
/**
 * Additional options for the attachment upload.
 */
interface UploadFileOptions {
    /**
     * This callback is called with the progress of the upload.
     */
    onProgress?: (progress: number) => void;
    /**
     * This signal can be used to abort the upload.
     */
    signal?: AbortSignal;
}
/**
 * Response returned by `UploadAttachment`.
 */
interface UploadAttachmentResponse {
    /** The direct upload ID - use this to attach the attachment to a resource */
    directUploadId: string;
    /** The record type the attachment was attached to */
    record: AttachableRecords$1;
    /** The attachment */
    attachment: AttachmentFragment$1;
}
declare function makeUploadAttachmentFunction({ uploadPart, }: {
    uploadPart: UploadPartFunction;
}): (this: PartialFileSdkExtensions & Pick<ReturnType<typeof getSdk$1<RequestInit>>, "attachments">, input: UploadFileInput, { onProgress, signal }?: UploadFileOptions) => Promise<UploadAttachmentResponse>;

type Maybe<T> = T | null;
type InputMaybe<T> = Maybe<T>;
type Exact<T extends {
    [key: string]: unknown;
}> = {
    [K in keyof T]: T[K];
};
type MakeOptional<T, K extends keyof T> = Omit<T, K> & {
    [SubKey in K]?: Maybe<T[SubKey]>;
};
type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {
    [SubKey in K]: Maybe<T[SubKey]>;
};
type MakeEmpty<T extends {
    [key: string]: unknown;
}, K extends keyof T> = {
    [_ in K]?: never;
};
type Incremental<T> = T | {
    [P in keyof T]?: P extends " $fragmentName" | "__typename" ? T[P] : never;
};
/** All built-in and custom scalars, mapped to their actual values */
interface Scalars {
    ID: {
        input: string;
        output: string;
    };
    String: {
        input: string;
        output: string;
    };
    Boolean: {
        input: boolean;
        output: boolean;
    };
    Int: {
        input: number;
        output: number;
    };
    Float: {
        input: number;
        output: number;
    };
    /**
     * Represents non-fractional signed whole numeric values. Since the value may
     * exceed the size of a 32-bit integer, it's encoded as a string.
     */
    BigInt: {
        input: string;
        output: string;
    };
    /**
     * The `Decimal` scalar type represents signed double-precision fractional
     * values. The Decimal appears in a JSON response as a string to preserve
     * precision.
     */
    Decimal: {
        input: string;
        output: string;
    };
    /** Url to uploaded upload */
    File: {
        input: string;
        output: string;
    };
    /** Represents untyped JSON */
    JSON: {
        input: {
            [key: string]: any;
        };
        output: {
            [key: string]: any;
        };
    };
    /** A number - float or integer */
    Number: {
        input: number;
        output: number;
    };
    /** String removes all html tags */
    SanitizedString: {
        input: string;
        output: string;
    };
    /** A float that can be a string */
    StringFloat: {
        input: string | number;
        output: string | number;
    };
    /** A valid timestamp in seconds, transported as an integer */
    Timestamp: {
        input: number;
        output: number;
    };
    /** URL starting with http/https */
    UrlString: {
        input: string;
        output: string;
    };
}
/** The name of the resource type that is being reported. */
type AbuseReportCategoryResourceTypes = 
/** Page */
"Page";
/** Visibility of an abuse report category */
type AbuseReportCategoryVisibility = 
/** Hidden */
"hidden"
/** Live */
 | "live";
/** The status of the abuse report */
type AbuseReportStatus = 
/** Accepted */
"accepted"
/** Canceled */
 | "canceled"
/** Pending */
 | "pending"
/** Rejected */
 | "rejected";
/** The high level payment processor options. */
type AcceptedPaymentMethods = "apple" | "coinbase" | "free" | "multi_psp" | "paypal" | "platform_balance" | "sezzle" | "splitit" | "stripe";
/** The access level a given user (or company) has to an access pass or company. */
type AccessLevel = "admin" | "customer" | "no_access";
/** The ways a relation of AccessPasses can be ordered */
type AccessPassAffiliateOrder = "cached_referrals_count" | "cached_usd_rewards" | "created_at";
/** An AccessPassAffiliate status */
type AccessPassAffiliateStatuses = 
/** Active */
"active"
/** Archived */
 | "archived";
/** The types of categories that can be used for AccessPass attachments. */
type AccessPassAttachmentCategories = "affiliate_assets" | "gallery_images";
/** The conditions that an access pass can have */
type AccessPassConditions = "has_plans";
/** Values to filter access passes on */
interface AccessPassFilters {
    /**
     * Whether or not this creator achieved the 3k in 30 milestone
     * @deprecated No longer available.
     */
    achievedThreeKInThirty?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** How to order the results. */
    direction?: InputMaybe<Direction>;
    /**
     * Whether or not to only return discoverable access passes.
     * @deprecated We only return discoverable access passes now.
     */
    discoverable?: InputMaybe<Scalars["Boolean"]["input"]>;
    /**
     * The discovery category to filter by
     * @deprecated The discovery AI API is no longer used.
     */
    discoveryCategoryId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The max global affiliate percentage */
    globalAffiliatePercentageMaximum?: InputMaybe<Scalars["Float"]["input"]>;
    /** The min global affiliate percentage */
    globalAffiliatePercentageMinimum?: InputMaybe<Scalars["Float"]["input"]>;
    /** The global affiliate status */
    globalAffiliateStatus?: InputMaybe<GlobalAffiliateStatuses>;
    /** An array, in order, of the category route tree that is being traversed. */
    marketplaceCategoryRoutes?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The max global affiliate percentage */
    memberAffiliatePercentageMaximum?: InputMaybe<Scalars["Float"]["input"]>;
    /** The min global affiliate percentage */
    memberAffiliatePercentageMinimum?: InputMaybe<Scalars["Float"]["input"]>;
    /** The status of the member affiliate program for this access pass. */
    memberAffiliateStatus?: InputMaybe<GlobalAffiliateStatuses>;
    /** What to order the results by. */
    order?: InputMaybe<PublicAccessPassesOrder>;
    /** The max price */
    priceMaximum?: InputMaybe<Scalars["Float"]["input"]>;
    /** The min price */
    priceMinimum?: InputMaybe<Scalars["Float"]["input"]>;
    /** Filter to show only passes owned by students of the specified access pass */
    studentsOfAccessPassId?: InputMaybe<Scalars["ID"]["input"]>;
    /**
     * Whether or not the access pass' company uses whop four
     * @deprecated No longer applies.
     */
    usesWhopFour?: InputMaybe<Scalars["Boolean"]["input"]>;
}
/** The onboarding versions for access passes */
type AccessPassOnboardingVersionTypes = "mar_2025";
/** The ways a relation of AccessPasses can be ordered */
type AccessPassOrder = "active_memberships_count" | "created_at" | "usd_gmv" | "usd_gmv_30_days";
/** Input for creating a product highlight */
interface AccessPassProductHighlightInput {
    /**
     * Text to display to describe the product highlight (max length 250 for
     * qualification or benefits, 170 for who this is for, 140 for pricing features).
     */
    content: Scalars["String"]["input"];
    /** The type of this highlight. */
    highlightType: ProductHighlightTypes;
    /** The title of the product highlight, if applicable. */
    title?: InputMaybe<Scalars["String"]["input"]>;
}
/** Input for creating a social link for an access pass */
interface AccessPassSocialLinkInput {
    /** The URL of the social link */
    url: Scalars["UrlString"]["input"];
    /** The website this link is for */
    website: SocialLinkWebsites;
}
/** The different types an access pass can be. */
type AccessPassTypes = 
/** Api Only */
"api_only"
/** App */
 | "app"
/** Experience Upsell */
 | "experience_upsell"
/** Regular */
 | "regular";
/** Which columns can be used to sort. */
type AccessPassesSortableColumns = "active_members_count" | "active_memberships_count" | "created_at" | "id";
/** The types of payouts an affiliate can have */
type AffiliatePayoutTypes = "flat_fee" | "percentage";
/** Which columns can be used to sort. */
type AffiliatePlansSortableColumns = "created_at" | "id";
/** Values to filter affiliate referral logs on */
interface AffiliateReferralLogFilters {
    /** Specific affiliates. */
    affiliateIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** A specific affiliate type. */
    affiliateType?: InputMaybe<AffiliateTypes>;
    /** Specific plans. */
    planIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The text that is being searched. */
    query?: InputMaybe<Scalars["String"]["input"]>;
    /** Specific users. */
    userIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
}
/** Which columns can be used to sort. */
type AffiliateReferralLogsSortableColumns = "created_at" | "id";
/** The scope of an affiliate (company based, global, etc.) */
type AffiliateTypes = 
/** Custom */
"custom"
/** Global */
 | "global"
/** Marketplace */
 | "marketplace"
/** Passholder */
 | "passholder";
/** Which columns can be used to sort. */
type AffiliatesSortableColumns = "cached_total_referrals" | "cached_total_rewards" | "created_at" | "id";
/** Autogenerated input type of AnalyzeAttachment */
interface AnalyzeAttachmentInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID returned by the direct upload mutation */
    directUploadId: Scalars["String"]["input"];
    /** The type of media to analyze */
    mediaType: Media;
    /** The parts of the multipart upload */
    multipartParts?: InputMaybe<Array<UploadPartInput>>;
    /** The ID returned by the direct upload mutation */
    multipartUploadId?: InputMaybe<Scalars["String"]["input"]>;
}
/** The different types of permissions an api key can have. */
type ApiKeyPermissions = 
/** Add free days membership */
"add_free_days_membership"
/** Cancel membership */
 | "cancel_membership"
/** Create checkout request */
 | "create_checkout_request"
/** Create checkout session */
 | "create_checkout_session"
/** Create plan */
 | "create_plan"
/** Create promo code */
 | "create_promo_code"
/** Create push notification */
 | "create_push_notification"
/** Create quick link */
 | "create_quick_link"
/** Create webhook */
 | "create_webhook"
/** Delete checkout session */
 | "delete_checkout_session"
/** Delete experience */
 | "delete_experience"
/** Delete promo code */
 | "delete_promo_code"
/** Delete webhook */
 | "delete_webhook"
/** List access passes */
 | "list_access_passes"
/** List checkout sessions */
 | "list_checkout_sessions"
/** List customers */
 | "list_customers"
/** List experiences */
 | "list_experiences"
/** List licenses */
 | "list_licenses"
/** List members */
 | "list_members"
/** List memberships */
 | "list_memberships"
/** List payment fees */
 | "list_payment_fees"
/** List payment methods */
 | "list_payment_methods"
/** List payments */
 | "list_payments"
/** List plans */
 | "list_plans"
/** List products */
 | "list_products"
/** List promo codes */
 | "list_promo_codes"
/** List reviews */
 | "list_reviews"
/** List webhooks */
 | "list_webhooks"
/** Refund payment */
 | "refund_payment"
/** Retrieve access pass */
 | "retrieve_access_pass"
/** Retrieve checkout request */
 | "retrieve_checkout_request"
/** Retrieve checkout session */
 | "retrieve_checkout_session"
/** Retrieve company */
 | "retrieve_company"
/** Retrieve customer */
 | "retrieve_customer"
/** Retrieve experience */
 | "retrieve_experience"
/** Retrieve member */
 | "retrieve_member"
/** Retrieve membership */
 | "retrieve_membership"
/** Retrieve payment */
 | "retrieve_payment"
/** Retrieve plan */
 | "retrieve_plan"
/** Retrieve product */
 | "retrieve_product"
/** Retrieve promo code */
 | "retrieve_promo_code"
/** Retrieve review */
 | "retrieve_review"
/** Retrieve webhook */
 | "retrieve_webhook"
/** Send notification customers */
 | "send_notification_customers"
/** Send notification members */
 | "send_notification_members"
/** Terminate membership */
 | "terminate_membership"
/** Update access pass */
 | "update_access_pass"
/** Update experience */
 | "update_experience"
/** Update membership */
 | "update_membership"
/** Update plan */
 | "update_plan"
/** Update product */
 | "update_product"
/** Update promo code */
 | "update_promo_code"
/** Update webhook */
 | "update_webhook"
/** Validate license */
 | "validate_license";
/** The different API versions */
type ApiVersion = "v1" | "v2" | "v5";
/** The different platforms an app build can target. */
type AppBuildPlatforms = "android" | "ios" | "web";
/** The different statuses an AppBuild can be in. */
type AppBuildStatuses = "approved" | "draft" | "pending" | "rejected";
/** Image styles for app. */
type AppImageStyles = "s16" | "s24" | "s32" | "s40" | "s48" | "s80";
/** Input for creating a requested permission */
interface AppRequestedPermissionInput {
    /** The action that the app will request off of users when a user installs the app. */
    action: Scalars["String"]["input"];
    /** Whether the action is required for the app to function. */
    isRequired: Scalars["Boolean"]["input"];
    /** The reason for requesting the action. */
    justification: Scalars["String"]["input"];
}
/** The status of an experience interface */
type AppStatuses = 
/** Hidden */
"hidden"
/** Live */
 | "live"
/** Unlisted */
 | "unlisted";
/** These are the scopes an app can request on behalf of a user */
type AppValidScopes = 
/** Read User */
"read_user";
/** The different types of an app view */
type AppViewTypes = 
/** Analytics */
"analytics"
/** Dash */
 | "dash"
/** Dashboard */
 | "dashboard"
/** Discover */
 | "discover"
/** Hub */
 | "hub";
/** The criteria for an application to the marketplace. */
type ApplicationCriteriaIdentifier = 
/** App */
"app"
/** Available Plan */
 | "available_plan"
/** Benefit */
 | "benefit"
/** Choose Category */
 | "choose_category"
/** Description */
 | "description"
/** Gallery Images */
 | "gallery_images"
/** Headline */
 | "headline"
/** Logo */
 | "logo"
/** Setup Payouts */
 | "setup_payouts"
/** Title */
 | "title"
/** Visibility */
 | "visibility";
/** The types of records that an attachment can be attached to */
type AttachableRecords = "abuse_report" | "access_pass" | "access_pass_collection" | "app" | "assessment_question" | "automated_messages_config" | "bot" | "bounty" | "bounty_submission" | "competition_prize" | "content_reward_campaign" | "content_reward_submission" | "course_lesson" | "dispute" | "dms_post" | "experience" | "forum_post" | "information_request_item" | "resolution_event_upload" | "review" | "review_report" | "user";
/** Input for an attachment */
interface AttachmentInput {
    /**
     * This ID should be used the first time you upload an attachment. It is the ID
     * of the direct upload that was created when uploading the file to S3 via the
     * mediaDirectUpload mutation.
     */
    directUploadId?: InputMaybe<Scalars["ID"]["input"]>;
    /**
     * The ID of an existing attachment object. Use this when updating a resource and
     * keeping a subset of the attachments. Don't use this unless you know what you're doing.
     */
    id?: InputMaybe<Scalars["ID"]["input"]>;
}
/** Which columns can be used to sort. */
type AuditLogsSortableColumns = "created_at" | "id";
/** The possible 2FA authentication types. */
type AuthenticationMethods = "authenticator" | "sms";
/** Valid resource types for authorizations */
type AuthorizationResourceTypes = 
/** An app */
"app"
/** A company */
 | "company"
/** An experience */
 | "experience"
/** A product */
 | "product";
/** Possible roles an authorized user can have */
type AuthorizedUserRoles = 
/** Admin */
"admin"
/** App Manager */
 | "app_manager"
/** Manager */
 | "manager"
/** Moderator */
 | "moderator"
/** Owner */
 | "owner"
/** Sales Manager */
 | "sales_manager"
/** Support */
 | "support";
/** The different categories of automated messages triggers. */
type AutomatedMessagesTriggerCategories = "access_pass" | "app";
/** Image styles for avatar. */
type AvatarImageStyles = "s16" | "s24" | "s32" | "s40" | "s48" | "s64" | "s80" | "s128" | "s180";
/** Balance reservation reservation types. */
type BalanceReservationReservationTypes = "bnpl" | "regular";
/** The reasons for banning a user */
type BanReasons = "botting_content_rewards" | "botting_negative_reviews" | "control_center_blocked_country" | "harassment" | "other" | "spamming";
/** Autogenerated input type of BanUser */
interface BanUserInput {
    /** The ID of the access pass to ban the user from */
    accessPassId?: InputMaybe<Scalars["ID"]["input"]>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The custom reason for banning the user */
    customReason?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the feed to delete messages from */
    deleteMessagesInFeedId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The reason for banning the user */
    reason?: InputMaybe<BanReasons>;
    /** The ID of the user to ban */
    userId: Scalars["ID"]["input"];
}
/** The reason why a specific payment was billed */
type BillingReasons = 
/** Manual */
"manual"
/** One Time */
 | "one_time"
/** Subscription */
 | "subscription"
/** Subscription Create */
 | "subscription_create"
/** Subscription Cycle */
 | "subscription_cycle"
/** Subscription Update */
 | "subscription_update";
/** The BNPL (Buy Now Pay Later) providers for a company */
type BnplProvider = "afterpay_clearpay" | "klarna" | "sezzle" | "splitit" | "zip";
/** Values to filter bounties on */
interface BountyFilters {
    /** How to order the results. */
    direction?: InputMaybe<Direction>;
    /** Ability to filter bounties by access passes in specific marketplace categories. */
    marketplaceCategoryRoutes?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** Whether to only include bounties that are not whop bounties. */
    nonWhopOnly?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** What to order the results by. */
    order?: InputMaybe<PublicBountiesOrder>;
}
/** The type of update an event is. */
type BusinessActivityEventTypes = 
/** Member Canceled */
"member_canceled"
/** Member Churned */
 | "member_churned"
/** Member Joined */
 | "member_joined"
/** New Dispute */
 | "new_dispute"
/** New Marketplace Sale */
 | "new_marketplace_sale"
/** New Payment */
 | "new_payment"
/** New Waitlist Entry */
 | "new_waitlist_entry";
/** Image styles for business_affiliate. */
type BusinessAffiliateImageStyles = "s16" | "s20" | "s24" | "s32" | "s40" | "s48" | "s64" | "s80" | "s128" | "s180" | "s600x200" | "s800x200" | "s900x300" | "s1200x630" | "s1600x400";
/** The different business types a company can be. */
type BusinessTypes = 
/** Agency */
"agency"
/** Brick And Mortar */
 | "brick_and_mortar"
/** Coaching */
 | "coaching"
/** Coaching And Courses */
 | "coaching_and_courses"
/** Community */
 | "community"
/** Course */
 | "course"
/** Education Program */
 | "education_program"
/** Events */
 | "events"
/** Newsletter */
 | "newsletter"
/** Other */
 | "other"
/** Paid Group */
 | "paid_group"
/** Physical Products */
 | "physical_products"
/** Saas */
 | "saas"
/** Software */
 | "software";
/** The modes for the buyer fee. */
type BuyerFeeMode = "use_account_fee" | "use_experiment_fee";
/** The different reasons a user can choose for why they are canceling their membership. */
type CancelOptions = "bad_experience" | "missing_features" | "other" | "switching" | "technical_issues" | "testing" | "too_expensive";
/** The over-arching state of the resolution. */
type CaseStates = "closed" | "open";
/** Autogenerated input type of ChangeCardMyMembership */
interface ChangeCardMyMembershipInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the company that this membership is on behalf of. */
    companyBuyerId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The ID of the membership to cancel at the end of the period. */
    membershipId: Scalars["ID"]["input"];
    /** The URL you want to take the user to when they return */
    redirectUrl?: InputMaybe<Scalars["UrlString"]["input"]>;
}
/** The different card funding methods a charge can have. */
type ChargeCardFunding = 
/** Credit */
"credit"
/** Debit */
 | "debit"
/** Prepaid */
 | "prepaid"
/** Unknown */
 | "unknown";
/** The different risk levels a charge can have. */
type ChargeOutcomeRiskLevels = 
/** Elevated */
"elevated"
/** Highest */
 | "highest"
/** Normal */
 | "normal"
/** Not Assessed */
 | "not_assessed"
/** Unknown */
 | "unknown";
/** Autogenerated input type of ChargeUser */
interface ChargeUserInput {
    /** The affiliate code to use for the checkout session */
    affiliateCode?: InputMaybe<Scalars["String"]["input"]>;
    /** The amount to charge the user */
    amount: Scalars["Float"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The currency to charge in */
    currency: Currencies;
    /** The description of the charge. Maximum 200 characters. */
    description?: InputMaybe<Scalars["String"]["input"]>;
    /** Additional metadata for the charge */
    metadata?: InputMaybe<Scalars["JSON"]["input"]>;
    /** The URL to redirect the user to after the checkout session is created */
    redirectUrl?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the user to charge */
    userId: Scalars["ID"]["input"];
}
/** The possible statuses for a charge user response */
type ChargeUserResponseStatus = 
/** The charge requires additional action from the user. */
"needs_action"
/** The charge was successful */
 | "success";
/** Chart interval (period). */
type ChartIntervals = "daily" | "hourly" | "monthly" | "weekly" | "yearly";
/** Input for a chat feed */
interface ChatFeedInput {
    /** Whether or not media is banned in this chat */
    banMedia?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** Whether or not URLs are banned in this chat */
    banUrls?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** List of banned words in this chat */
    bannedWords?: InputMaybe<Array<Scalars["String"]["input"]>>;
    /** The unique identifier for the feed */
    id: Scalars["ID"]["input"];
    /** Whether the entity has been deleted */
    isDeleted?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The number of seconds a user needs to wait before posting again, if any */
    userPostsCooldownSeconds?: InputMaybe<Scalars["Int"]["input"]>;
    /** Who can post on this chat */
    whoCanPost?: InputMaybe<WhoCanPostTypes>;
    /** Who can react on this chat */
    whoCanReact?: InputMaybe<WhoCanReactTypes>;
}
/** The type of checkout session being made */
type CheckoutSessionTypes = "in_app_purchase" | "purchase";
/** The state of the Coinbase Commerce connection. */
type CoinbaseCommerceStatuses = 
/** The Coinbase commerce connection is broken and needs to be fixed with a new API key. */
"broken"
/** The Coinbase Commerce account is missing a settlement address. This needs to be set from the coinbase dashboard. */
 | "missing_settlement_address"
/** The Coinbase commerce connection is setup and ready to be used. */
 | "setup"
/** The webhook connection has not been tested / verified. */
 | "webhook_not_verified";
/** The ways a relation of Companies can be ordered */
type CompaniesOrder = "created_at" | "id" | "total_memberships_earnings";
/** The types of categories that can be used for company attachments. */
type CompanyAttachmentCategories = "gallery_images";
/** Image styles for company. */
type CompanyImageStyles = "s16" | "s20" | "s24" | "s32" | "s40" | "s48" | "s64" | "s80" | "s128" | "s180" | "s600x200" | "s800x200" | "s900x300" | "s1200x630" | "s1600x400";
/** Attributes collected during company onboarding */
interface CompanyOnboardingPlanOptions {
    /** The respective currency identifier for the plan. */
    baseCurrency?: InputMaybe<Currencies>;
    /** The interval at which the plan charges (renewal plans). */
    billingPeriod?: InputMaybe<Scalars["Int"]["input"]>;
    /** An array of custom field objects. */
    customFields?: InputMaybe<Array<CustomFieldInput>>;
    /** An additional amount charged upon first purchase. */
    initialPrice?: InputMaybe<Scalars["Float"]["input"]>;
    /** Indicates if the plan is a one time payment or recurring. */
    planType?: InputMaybe<PlanTypes>;
    /** The method by which the plan is released to the public. */
    releaseMethod?: InputMaybe<ReleaseMethod>;
    /** The amount the customer is charged every billing period. */
    renewalPrice?: InputMaybe<Scalars["Float"]["input"]>;
    /** The visibility of the plan. */
    visibility?: InputMaybe<Visibility>;
}
/** DEPRECATED: The different types a company can be. */
type CompanyTypes = "app" | "bot" | "community" | "nft" | "other" | "proxy" | "server";
/** The different types a competition can be */
type CompetitionMetricTypes = 
/** Earnings Inside Access Pass */
"earnings_inside_access_pass"
/** Global Earnings */
 | "global_earnings";
/** The different types a competition prize can be */
type CompetitionPrizeTypes = 
/** Cash */
"cash"
/** Custom */
 | "custom";
/** Statuses for connected accounts */
type ConnectedAccountStatuses = "connected" | "needs_completion" | "rejected" | "requirements_not_met" | "under_review";
/** Different types of how a company's marketplace card should display its pricing / access. */
type ConnectedAccountTypes = 
/** Custom */
"custom"
/** Express */
 | "express"
/** Personal */
 | "personal"
/** Platform Managed */
 | "platform_managed"
/** Standard */
 | "standard"
/** Whop Credit */
 | "whop_credit";
/** The ordering options for content rewards */
type ContentRewardsCampaignOrder = "amount_paid_out" | "expires_at" | "pending_submissions_count" | "submissions_count" | "total_budget";
/** The different statuses content reward campaigns can be assigned to */
type ContentRewardsCampaignStatus = 
/** Active */
"active"
/** Archived */
 | "archived"
/** Expired */
 | "expired"
/** Pending */
 | "pending";
/** Values to filter content rewards on */
interface ContentRewardsCampaignsFilters {
    /** The direction to order by */
    direction?: InputMaybe<Direction>;
    /** The ID to filter campaigns for */
    experienceId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The order of the rewards */
    order?: InputMaybe<ContentRewardsCampaignOrder>;
    /** The status of the reward */
    status?: InputMaybe<ContentRewardsCampaignStatus>;
}
/** The different categories content reward campaigns can be assigned to */
type ContentRewardsCategory = 
/** Brand */
"brand"
/** Creator */
 | "creator"
/** E Commerce */
 | "e_commerce"
/** Entertainment */
 | "entertainment"
/** Influencer */
 | "influencer"
/** Logo */
 | "logo"
/** Music */
 | "music"
/** Musician */
 | "musician"
/** Other */
 | "other"
/** Personal Brand */
 | "personal_brand"
/** Podcast */
 | "podcast"
/** Products */
 | "products"
/** Software */
 | "software"
/** Stream */
 | "stream"
/** Streamer */
 | "streamer";
/** The different types of content accepted by a content reward campaign */
type ContentRewardsContentType = 
/** Clipping */
"clipping"
/** Faceless */
 | "faceless"
/** Other */
 | "other"
/** Ugc */
 | "ugc";
/** The different platforms that content rewards submissions can be for */
type ContentRewardsPlatform = 
/** Instagram */
"instagram"
/** Tiktok */
 | "tiktok"
/** X */
 | "x"
/** Youtube */
 | "youtube";
/** The ordering options for public content rewards campaigns */
type ContentRewardsPublicCampaignOrder = "amount_paid_out" | "budget_left" | "created_at" | "expires_at";
/** Values to filter public content rewards on */
interface ContentRewardsPublicCampaignsFilters {
    /** The direction to order by */
    direction?: InputMaybe<Direction>;
    /** The order of the rewards */
    order?: InputMaybe<ContentRewardsPublicCampaignOrder>;
    /** The status of the reward */
    status?: InputMaybe<ContentRewardsCampaignStatus>;
}
/** The different results of submission analysis */
type ContentRewardsSubmissionAnalysisResults = 
/** Fail */
"fail"
/** Pass */
 | "pass"
/** Unknown */
 | "unknown";
/** The reasons a content rewards submission can be flagged for. */
type ContentRewardsSubmissionFlagReasons = 
/** Engagement Ratio */
"engagement_ratio"
/** Ml Analysis */
 | "ml_analysis"
/** Reported Botter */
 | "reported_botter"
/** Text Analysis */
 | "text_analysis"
/** Video Analysis */
 | "video_analysis"
/** View Acceleration */
 | "view_acceleration"
/** View Spike */
 | "view_spike";
/** The different statuses content reward submissions can be assigned to */
type ContentRewardsSubmissionStatus = 
/** Approved */
"approved"
/** Flagged */
 | "flagged"
/** Pending */
 | "pending"
/** Rejected */
 | "rejected";
/** The configuration for a chart. */
interface ContentRewardsSubmissionViewsChartConfigInput {
    /** The interval to group the data by. */
    interval?: InputMaybe<ChartIntervals>;
    /** The time zone used for start of day calculations. */
    timeZone?: InputMaybe<Scalars["String"]["input"]>;
    /** The week mode to group the data by. For details, look at https://clickhouse.com/docs/en/sql-reference/functions/date-time-functions#toweek */
    weekMode?: InputMaybe<Scalars["Int"]["input"]>;
}
/** Values to filter content rewards submissions on */
interface ContentRewardsSubmissionsFilters {
    /**
     * The type of attachment required on the submission
     * @deprecated No longer available
     */
    attachmentType?: InputMaybe<FileAttachmentTypes>;
    /** The campaign ID to filter by */
    campaignId?: InputMaybe<Scalars["ID"]["input"]>;
    /** Filter submissions by date created after */
    createdAtAfter?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** Filter submissions by date created before */
    createdAtBefore?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The direction to order by */
    direction?: InputMaybe<Direction>;
    /** Whether to exclude banned users from the results */
    excludeBannedUsers?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The experience ID to filter by */
    experienceId?: InputMaybe<Scalars["ID"]["input"]>;
    /** Whether the submission was flagged by AI */
    flaggedByAi?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The order to sort the results by */
    order?: InputMaybe<ContentRewardsSubmissionsOrder>;
    /** Whether the submission has reached the minimum payout */
    reachedMinimumPayout?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The status of the submissions */
    status?: InputMaybe<ContentRewardsSubmissionStatus>;
    /** Filter submissions by partial username match */
    username?: InputMaybe<Scalars["String"]["input"]>;
    /** The result of the video analysis */
    videoAnalysisResult?: InputMaybe<ContentRewardsSubmissionAnalysisResults>;
}
/** The ordering options for content rewards submissions */
type ContentRewardsSubmissionsOrder = "created_at" | "total_paid" | "total_view_count";
/** Which columns can be used to sort. */
type ContentRewardsSubmissionsSortableColumns = "cached_total_paid" | "cached_total_view_count" | "created_at" | "id" | "status";
/** The configuration for a chart. */
interface ContentRewardsViewsChartConfigInput {
    /** The ID of the campaign to filter by */
    campaignId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The ID of the experience to filter by */
    experienceId: Scalars["ID"]["input"];
    /** The start date to take into account. */
    from: Scalars["Timestamp"]["input"];
    /** The interval to group the data by. */
    interval?: InputMaybe<ChartIntervals>;
    /** The time zone used for start of day calculations. */
    timeZone?: InputMaybe<Scalars["String"]["input"]>;
    /** The end date to take into account. */
    to: Scalars["Timestamp"]["input"];
    /** The week mode to group the data by. For details, look at https://clickhouse.com/docs/en/sql-reference/functions/date-time-functions#toweek */
    weekMode?: InputMaybe<Scalars["Int"]["input"]>;
}
/** The available types for an assessment question */
type CoursesAssessmentQuestionTypes = 
/** Multiple choice */
"multiple_choice"
/** Multiple select */
 | "multiple_select"
/** Short answer */
 | "short_answer"
/** True false */
 | "true_false";
/** Autogenerated input type of CreateAccessPass */
interface CreateAccessPassInput {
    /** A banner image for the access pass in png, jpeg format */
    bannerImage?: InputMaybe<AttachmentInput>;
    /** The business type of the access pass. */
    businessType?: InputMaybe<BusinessTypes>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the company to create the access pass for. */
    companyId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The creator pitch for the access pass. */
    creatorPitch?: InputMaybe<Scalars["String"]["input"]>;
    /** The custom call to action for the access pass. */
    customCta?: InputMaybe<CustomCtas>;
    /** The custom call to action URL for the access pass. */
    customCtaUrl?: InputMaybe<Scalars["String"]["input"]>;
    /**
     * The custom statement descriptor for the access pass i.e. WHOP*SPORTS, must be
     * between 5 and 22 characters, contain at least one letter, and not contain any
     * of the following characters: <, >, \, ', "
     */
    customStatementDescriptor?: InputMaybe<Scalars["String"]["input"]>;
    /** A written description of the access pass. */
    description?: InputMaybe<Scalars["String"]["input"]>;
    /** An array of experience IDs that this pass has */
    experienceIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The percentage of the revenue that goes to the global affiliate program. */
    globalAffiliatePercentage?: InputMaybe<Scalars["Float"]["input"]>;
    /** The status of the global affiliate program for this access pass. */
    globalAffiliateStatus?: InputMaybe<GlobalAffiliateStatuses>;
    /** The headline of the access pass. */
    headline?: InputMaybe<Scalars["String"]["input"]>;
    /** The URLs of the images to upload to the access pass. */
    imageUrls?: InputMaybe<Array<Scalars["String"]["input"]>>;
    /** The industry type of the access pass. */
    industryType?: InputMaybe<IndustryTypes>;
    /** The logo for the access pass in png, jpeg, or gif format */
    logo?: InputMaybe<AttachmentInput>;
    /** The ID of the marketplace category to assign to the access pass. */
    marketplaceCategoryId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The percentage of the revenue that goes to the member affiliate program. */
    memberAffiliatePercentage?: InputMaybe<Scalars["Float"]["input"]>;
    /** The status of the member affiliate program for this access pass. */
    memberAffiliateStatus?: InputMaybe<GlobalAffiliateStatuses>;
    /** The details to assign an autogenerated plan. */
    planOptions?: InputMaybe<CompanyOnboardingPlanOptions>;
    /** The product highlights for the access pass. */
    productHighlights?: InputMaybe<Array<AccessPassProductHighlightInput>>;
    /** The ID of the product tax code to apply to this access pass. */
    productTaxCodeId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The URL to redirect the customer to after a purchase. */
    redirectPurchaseUrl?: InputMaybe<Scalars["String"]["input"]>;
    /** The route of the access pass. */
    route?: InputMaybe<Scalars["String"]["input"]>;
    /** A short description of what the access pass offers or does. Must be 150 chars or less. */
    shortenedDescription?: InputMaybe<Scalars["String"]["input"]>;
    /** Whether or not to show the member count on the access pass. */
    showMemberCount?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** Whether or not to show reviews on the access pass. */
    showReviewsDtc?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The social links for the access pass. */
    socialLinks?: InputMaybe<Array<AccessPassSocialLinkInput>>;
    /** The title of the access pass. */
    title: Scalars["String"]["input"];
    /** Whether or not customers can upgrade to different plans on this access pass. */
    upgradeable?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** This access pass will/will not be displayed publicly. */
    visibility?: InputMaybe<Visibility>;
}
/** Autogenerated input type of CreateAffiliate */
interface CreateAffiliateInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the company that the affiliate will be created for. */
    companyId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The fee that the affiliate will receive for each referral (either a percentage or a flat fee). */
    fee?: InputMaybe<Scalars["StringFloat"]["input"]>;
    /** Whether the affiliate will only receive one payout. */
    onlyOnePayout?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** Whether the fee is a percentage or a flat fee. */
    payoutType: PayoutTypes;
    /** The ID of the plan that the affiliate can refer. */
    planId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The IDs of the plans that the affiliate can refer. */
    planIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The username of the user who will become an affiliate */
    username: Scalars["String"]["input"];
}
/** Autogenerated input type of CreateAgentUser */
interface CreateAgentUserInput {
    /** The ID of the app to create the agent user for. */
    appId: Scalars["ID"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The name of the agent user. */
    name?: InputMaybe<Scalars["String"]["input"]>;
    /** An image for the user for their avatar. */
    profilePhoto?: InputMaybe<Scalars["File"]["input"]>;
    /** The username of the agent user. */
    username?: InputMaybe<Scalars["String"]["input"]>;
}
/** Autogenerated input type of CreateAppBuild */
interface CreateAppBuildInput {
    /** The ID of the app to create a build for. By default the current app from the api key is used. */
    appId?: InputMaybe<Scalars["ID"]["input"]>;
    /**
     * Attachment input for the app build file. This should be an upload in .zip
     * format. The zip should contain at least one main_js_bundle.hbc file and
     * optionally an assets folder next to it.
     */
    attachment: AttachmentInput;
    /**
     * Checksum of the app build file. This is generated by the client and used to
     * verify the integrity of the file that is submitted when un-packaged later on a device.
     */
    checksum: Scalars["String"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The platform of the app build (ios, android, web) */
    platform: AppBuildPlatforms;
    /**
     * Supported app view types for the app build. A build can specify multiple view
     * types, but should only specify ones that its code supports.
     */
    supportedAppViewTypes?: InputMaybe<Array<AppViewTypes>>;
}
/** Autogenerated input type of CreateApp */
interface CreateAppInput {
    /** The base URL of the app to be created */
    baseUrl?: InputMaybe<Scalars["String"]["input"]>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the company to create the app for */
    companyId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The name of the app to be created */
    name: Scalars["String"]["input"];
}
/** Autogenerated input type of CreateAssessmentQuestion */
interface CreateAssessmentQuestionInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The correct answer to the assessment question */
    correctAnswer: Scalars["String"]["input"];
    /** The ID of the lesson to create the assessment question in */
    lessonId: Scalars["ID"]["input"];
    /** The text of the question being asked */
    questionText: Scalars["String"]["input"];
    /** The type of the assessment question */
    questionType: CoursesAssessmentQuestionTypes;
}
/** Autogenerated input type of CreateChapter */
interface CreateChapterInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the course to create the chapter in */
    courseId: Scalars["ID"]["input"];
    /** The title of the chapter */
    title?: InputMaybe<Scalars["String"]["input"]>;
}
/** Autogenerated input type of CreateChat */
interface CreateChatInput {
    /** The ID of the access pass (whop) to attach the chat experience to. It looks like prod_xxxx. */
    accessPassId?: InputMaybe<Scalars["ID"]["input"]>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /**
     * The ID of an existing experience. If supplied, this new chat experience will
     * be attached to the first access pass (whop) of this experience. It looks like exp_xxxx.
     */
    experienceId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The expiration date of the chat experience to be created. After this timestamp, the experience disappears. */
    expiresAt?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The name of the chat experience to be created, shown to users in the UI. */
    name: Scalars["String"]["input"];
    /**
     * The upsell plan details to add for the chat experience. This allows you to
     * require paid access for the chat within the whop.
     */
    price?: InputMaybe<UpsellPlanInput>;
    /**
     * This is who is allowed to send messages inside the chat. Select 'admin' if you
     * only want the team members to message, or select 'everyone' if any member of
     * the whop can send messages.
     */
    whoCanPost?: InputMaybe<WhoCanPostTypes>;
}
/** Autogenerated input type of CreateCheckoutSession */
interface CreateCheckoutSessionInput {
    /** The affiliate code to use for the checkout session */
    affiliateCode?: InputMaybe<Scalars["String"]["input"]>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The metadata to use for the checkout session */
    metadata?: InputMaybe<Scalars["JSON"]["input"]>;
    /** The ID of the plan to use for the checkout session */
    planId: Scalars["ID"]["input"];
    /** The URL to redirect the user to after the checkout session is created */
    redirectUrl?: InputMaybe<Scalars["String"]["input"]>;
}
/** Autogenerated input type of CreateCompanyMutedUser */
interface CreateCompanyMutedUserInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The time the user is muted until, in milliseconds. If not provided, the user will be muted indefinitely */
    mutedUntil?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The ID of the user to mute */
    userId: Scalars["ID"]["input"];
}
/** Autogenerated input type of CreateCourse */
interface CreateCourseInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The cover image URL of the course */
    coverImage?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the experience to create the course in */
    experienceId: Scalars["ID"]["input"];
    /** The tagline of the course */
    tagline?: InputMaybe<Scalars["String"]["input"]>;
    /** The title of the course */
    title: Scalars["String"]["input"];
}
/** Autogenerated input type of CreateForum */
interface CreateForumInput {
    /** The ID of the access pass (whop) to attach the experience to. It looks like prod_xxxx. */
    accessPassId?: InputMaybe<Scalars["ID"]["input"]>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /**
     * The ID of an existing experience. If supplied, this new forum experience will
     * be attached to the first access pass (whop) of this experience. It looks like exp_xxxx.
     */
    experienceId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The expiration date of the experience to be created. After this timestamp, the experience is deleted. */
    expiresAt?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The name of the forum experience to be created, shown to the user on the UI. */
    name: Scalars["String"]["input"];
    /**
     * The upsell plan details to add for the forum experience. This allows you to
     * require paid access for the forum within the whop.
     */
    price?: InputMaybe<UpsellPlanInput>;
    /**
     * This is who is allowed to create posts inside the forum. Select 'admin' if you
     * only want the team members to post, or select 'everyone' if any member of the
     * whop can post. Default value is 'admins'.
     */
    whoCanPost?: InputMaybe<ForumWhoCanPostTypes>;
}
/** Autogenerated input type of CreateForumPost */
interface CreateForumPostInput {
    /** The attachments for this post, such as videos or images. */
    attachments?: InputMaybe<Array<AttachmentInput>>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The content of the post. This is the main body of the post. Hidden if paywalled. */
    content: Scalars["String"]["input"];
    /** The ID of the forum experience to send the message in. This will look like exp_xxxx. */
    forumExperienceId: Scalars["String"]["input"];
    /**
     * This is used to determine if the post should be sent as a 'mention'
     * notification to all of the users who are in the experience. This means that
     * anyone with 'mentions' enabled will receive a notification about this post.
     */
    isMention?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The ID of the parent post, if applicable (Used when making a comment) */
    parentId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The amount to paywall this post by. A paywalled post requires the user to purchase it in order to view its content. */
    paywallAmount?: InputMaybe<Scalars["Float"]["input"]>;
    /** The currency to paywall this post by. A paywalled post requires the user to purchase it in order to view its content. */
    paywallCurrency?: InputMaybe<Currencies>;
    /** Whether the post should be pinned */
    pinned?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The poll for this post. A poll lets you collect responses to a multiple choice question. */
    poll?: InputMaybe<PollInput>;
    /** The title of the post. Visible if paywalled. */
    title?: InputMaybe<Scalars["String"]["input"]>;
}
/** Autogenerated input type of CreateInvoice */
interface CreateInvoiceInput {
    /** Whether or not to charge the customer a buyer fee. */
    chargeBuyerFee?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The method of collection for this invoice. If using charge_automatically, you must provide a payment_token. */
    collectionMethod: InvoiceCollectionMethods;
    /** The company ID to create this invoice for. */
    companyId?: InputMaybe<Scalars["ID"]["input"]>;
    /**
     * The name of the customer to create this invoice for. This is required if you
     * want to create an invoice for a customer who does not have a member of your company yet.
     */
    customerName?: InputMaybe<Scalars["String"]["input"]>;
    /** The date the invoice is due, if applicable. */
    dueDate: Scalars["Timestamp"]["input"];
    /**
     * The email address to create this invoice for. This is required if you want to
     * create an invoice for a user who does not have a member of your company yet.
     */
    emailAddress?: InputMaybe<Scalars["String"]["input"]>;
    /**
     * The member ID to create this invoice for. Include this if you want to create
     * an invoice for an existing member. If you do not have a member ID, you must
     * provide an email_address and customer_name.
     */
    memberId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The payment token ID to use for this invoice. If using charge_automatically, you must provide a payment_token. */
    paymentTokenId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The properties of the plan to create for this invoice. */
    plan: InvoicePlanInput;
    /**
     * The properties of the access pass to create for this invoice. Include this if
     * you want to create an invoice for a new product.
     */
    product?: InputMaybe<InvoiceAccessPassInput>;
    /** The access pass ID to create this invoice for. Include this if you want to create an invoice for an existing product. */
    productId?: InputMaybe<Scalars["ID"]["input"]>;
}
/** Autogenerated input type of CreateLesson */
interface CreateLessonInput {
    /** The ID of the chapter to create the lesson in */
    chapterId: Scalars["ID"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The content of the lesson */
    content?: InputMaybe<Scalars["String"]["input"]>;
    /** Days from course start until unlock */
    daysFromCourseStartUntilUnlock?: InputMaybe<Scalars["Int"]["input"]>;
    /** The type of the lesson */
    lessonType: LessonTypes;
    /** The title of the lesson */
    title?: InputMaybe<Scalars["String"]["input"]>;
}
/** Autogenerated input type of CreatePromoCode */
interface CreatePromoCodeInput {
    /** The access pass to lock the promo code to, if any. */
    accessPassId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The amount off (% or flat amount) for the promo. */
    amountOff: Scalars["StringFloat"]["input"];
    /** The monetary currency of the promo code. */
    baseCurrency: Currencies;
    /** Restricts promo use to only users who have churned from the company before. */
    churnedUsersOnly?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The specific code used to apply the promo at checkout. */
    code: Scalars["String"]["input"];
    /** The id of the company to create the promo code for. */
    companyId?: InputMaybe<Scalars["ID"]["input"]>;
    /** Whether this promo code is for existing memberships only (cancelations) */
    existingMembershipsOnly?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The date/time of when the promo expires. */
    expirationDatetime?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** Restricts promo use to only users who have never purchased from the company before. */
    newUsersOnly: Scalars["Boolean"]["input"];
    /** The number of billing cycles the promo is applied for. */
    numberOfIntervals: Scalars["Int"]["input"];
    /** Restricts promo use to only be applied once per customer. */
    onePerCustomer?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The IDs of the plans that the affiliate can refer. */
    planIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The type (% or flat amount) of the promo. */
    promoType: PromoTypes;
    /** The quantity limit on the number of uses. */
    stock?: InputMaybe<Scalars["Int"]["input"]>;
    /** Whether or not the promo code should have unlimited stock. */
    unlimitedStock?: InputMaybe<Scalars["Boolean"]["input"]>;
}
/** Autogenerated input type of CreateWebhook */
interface CreateWebhookInput {
    /** The API version for this webhook */
    apiVersion?: InputMaybe<ApiVersion>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** Whether or not the webhook is enabled. */
    enabled?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The events to send the webhook for. */
    events?: InputMaybe<Array<WebhookEvent>>;
    /** The resource to create the webhook for. By default this will use current company */
    resourceId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The URL to send the webhook to. */
    url: Scalars["UrlString"]["input"];
}
/** Cancelation discounts for creator dashboard */
type CreatorDashboardCancelationDiscounts = "canceled" | "used_discount_and_canceled" | "used_discount_and_did_not_cancel";
/** The configuration for a chart. */
interface CreatorDashboardChartConfigInput {
    /** The access pass ids (tags) to filter the data by. */
    accessPassIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The currency to use for the chart. */
    currency?: InputMaybe<Currencies>;
    /** The start date to take into account. */
    from: Scalars["Timestamp"]["input"];
    /** The interval to group the data by. */
    interval?: InputMaybe<CreatorDashboardChartIntervals>;
    /** The time zone used for start of day calculations. */
    timeZone?: InputMaybe<Scalars["String"]["input"]>;
    /** The end date to take into account. */
    to: Scalars["Timestamp"]["input"];
    /** The week mode to group the data by. For details, look at https://clickhouse.com/docs/en/sql-reference/functions/date-time-functions#toweek */
    weekMode?: InputMaybe<Scalars["Int"]["input"]>;
}
/** Chart interval (period). */
type CreatorDashboardChartIntervals = "daily" | "hourly" | "monthly" | "weekly" | "yearly";
/** The different types of activity for a credit transaction */
type CreditTransactionActivityTypes = "deductions" | "deposits" | "withdrawals";
/** Values to filter the credits on. */
interface CreditTransactionFilters {
    /** Filter by activity type */
    activityType?: InputMaybe<CreditTransactionActivityTypes>;
    /** Filter by currency */
    currency?: InputMaybe<Currencies>;
    /** Filter by status */
    statuses?: InputMaybe<Array<CreditTransactionStatuses>>;
}
/** The statuses a credit transaction can have */
type CreditTransactionStatuses = 
/** Finalized */
"finalized"
/** Pending */
 | "pending";
/** The reasons for a credit transaction transfer */
type CreditTransactionTransferReasons = "bounty_payout" | "content_reward_fixed_payout" | "content_reward_payout" | "content_reward_return" | "creator_to_creator" | "creator_to_user" | "pool_top_up" | "team_member_payout" | "user_to_creator" | "user_to_user" | "wadmin_transferred_funds";
/** The statuses a credit transaction transfer can have */
type CreditTransactionTransferStatuses = "completed";
/** The type a credit transaction transfer can have */
type CreditTransactionTransferTypes = 
/** Admin */
"admin"
/** User */
 | "user";
/** Which columns can be used to sort. */
type CreditTransactionTransfersSortableColumns = "amount" | "created_at";
/** The eligible networks for a CryptoWallet */
type CryptoWalletNetworks = 
/** Bitcoin */
"bitcoin"
/** Ethereum */
 | "ethereum"
/** Solana */
 | "solana";
/** The available currencies on the platform */
type Currencies = "aed" | "all" | "amd" | "ape" | "ars" | "aud" | "bam" | "bgn" | "bhd" | "bob" | "brl" | "bsd" | "btc" | "cad" | "chf" | "clp" | "cop" | "crc" | "czk" | "dkk" | "dop" | "dzd" | "egp" | "etb" | "eth" | "eur" | "gbp" | "ghs" | "gmd" | "gtq" | "gyd" | "hkd" | "huf" | "idr" | "ils" | "inr" | "jmd" | "jod" | "jpy" | "kes" | "khr" | "krw" | "kwd" | "lkr" | "mad" | "mdl" | "mga" | "mkd" | "mnt" | "mop" | "mur" | "mxn" | "myr" | "nad" | "ngn" | "nok" | "nzd" | "omr" | "pen" | "php" | "pkr" | "pln" | "pyg" | "qar" | "ron" | "rsd" | "rub" | "rwf" | "sar" | "sek" | "sgd" | "thb" | "tnd" | "try" | "ttd" | "twd" | "tzs" | "usd" | "uyu" | "uzs" | "vnd" | "xcd" | "xof" | "zar";
/** The different types of custom CTAs that can be selected. */
type CustomCtas = 
/** Apply Now */
"apply_now"
/** Call Now */
 | "call_now"
/** Complete Order */
 | "complete_order"
/** Contact Us */
 | "contact_us"
/** Donate Now */
 | "donate_now"
/** Get Access */
 | "get_access"
/** Get Offer */
 | "get_offer"
/** Join */
 | "join"
/** Order Now */
 | "order_now"
/** Purchase */
 | "purchase"
/** Shop Now */
 | "shop_now"
/** Sign Up */
 | "sign_up"
/** Subscribe */
 | "subscribe";
interface CustomFieldInput {
    /** The type of the custom field. */
    fieldType: CustomFieldTypes;
    /** The ID of the custom field (if being updated) */
    id?: InputMaybe<Scalars["ID"]["input"]>;
    /** The name of the custom field. */
    name: Scalars["String"]["input"];
    /** The order of the field. */
    order?: InputMaybe<Scalars["Int"]["input"]>;
    /** The placeholder value of the field. */
    placeholder?: InputMaybe<Scalars["String"]["input"]>;
    /** Whether or not the field is required. */
    required?: InputMaybe<Scalars["Boolean"]["input"]>;
}
/** The type of the custom field. */
type CustomFieldTypes = 
/** Text */
"text";
/** Autogenerated input type of DeleteAccessPass */
interface DeleteAccessPassInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The internal ID (tag) of the access pass to delete. */
    id: Scalars["ID"]["input"];
}
/** Autogenerated input type of DeleteAssessmentQuestionImage */
interface DeleteAssessmentQuestionImageInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the attachment to delete */
    id: Scalars["ID"]["input"];
}
/** Autogenerated input type of DeleteChapter */
interface DeleteChapterInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the chapter to delete */
    id: Scalars["ID"]["input"];
}
/** Autogenerated input type of DeleteCompanyMutedUser */
interface DeleteCompanyMutedUserInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the user to unmute */
    userId: Scalars["ID"]["input"];
}
/** Autogenerated input type of DeleteLessonAttachment */
interface DeleteLessonAttachmentInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the attachment to delete */
    id: Scalars["ID"]["input"];
}
/** Autogenerated input type of DeleteLesson */
interface DeleteLessonInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the lesson to delete */
    id: Scalars["ID"]["input"];
}
/** Autogenerated input type of DeletePromoCode */
interface DeletePromoCodeInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The internal ID of the promo code to archive. */
    id: Scalars["ID"]["input"];
}
/** Autogenerated input type of DeleteWebhook */
interface DeleteWebhookInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the webhook to delete. */
    id: Scalars["ID"]["input"];
}
/** The type of device a user can use to access Whop */
type Device = "android" | "desktop_web" | "ios" | "mobile_web";
/** The status of the direct message. */
type DirectMessageStatus = 
/** Accepted */
"accepted"
/** Archived */
 | "archived"
/** Closed */
 | "closed"
/** Hidden */
 | "hidden"
/** Requested */
 | "requested";
/** Autogenerated input type of DirectUpload */
interface DirectUploadInput {
    /** The size of the file in bytes */
    byteSize?: InputMaybe<Scalars["Int"]["input"]>;
    /** The size of the file in bytes */
    byteSizeV2?: InputMaybe<Scalars["BigInt"]["input"]>;
    /** The checksum of the file */
    checksum: Scalars["String"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The content type of the file */
    contentType?: InputMaybe<Scalars["String"]["input"]>;
    /** The filename of the file */
    filename: Scalars["String"]["input"];
    /** The metadata of the file */
    metadata?: InputMaybe<Scalars["JSON"]["input"]>;
    /** Whether or not to use multipart upload. The file must be larger than 5MB */
    multipart?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The type of record to attach the file to */
    record: AttachableRecords;
}
/** The direction of the sort. */
type Direction = "asc" | "desc";
/** Image styles for discord_account. */
type DiscordAccountImageStyles = "s16" | "s24" | "s32" | "s40" | "s48" | "s64" | "s80" | "s128" | "s180";
/** The available discover statuses to choose from. */
type DiscoverStatuses = 
/** Live Discover */
"live_discover"
/** Not Available */
 | "not_available";
/** The dispute risk levels of a ledger account, derived from the ledger account stat */
type DisputeRiskLevels = 
/** At Risk */
"at_risk"
/** High */
 | "high"
/** Low */
 | "low"
/** Medium */
 | "medium"
/** Removal */
 | "removal";
/** The possible statuses of a dispute */
type DisputeStatuses = 
/** Closed */
"closed"
/** Lost */
 | "lost"
/** Needs Response */
 | "needs_response"
/** Other */
 | "other"
/** Under Review */
 | "under_review"
/** Warning Closed */
 | "warning_closed"
/** Warning Needs Response */
 | "warning_needs_response"
/** Warning Under Review */
 | "warning_under_review"
/** Won */
 | "won";
/** Which columns can be used to sort. */
type DisputesSortableColumns = "amount" | "created_at" | "final_amount" | "id" | "needs_response_by";
/** Sort options for DM channels */
type DmsChannelsSortTypes = "created_at" | "custom_name" | "last_post_sent_at" | "query";
/** The input to create a DMs feed */
interface DmsFeedInput {
    /** The collection ID for the feed */
    collectionIdentifier?: InputMaybe<Scalars["ID"]["input"]>;
    /** The custom name for the feed */
    customName?: InputMaybe<Scalars["String"]["input"]>;
    /** The unique identifier for the entity */
    id: Scalars["ID"]["input"];
    /** Whether the entity has been deleted */
    isDeleted?: InputMaybe<Scalars["Boolean"]["input"]>;
}
/** Input for a DMs feed member */
interface DmsFeedMemberInput {
    /** The ID of the DM channel */
    feedId: Scalars["ID"]["input"];
    /** The unique identifier for the post */
    id: Scalars["ID"]["input"];
    /** Whether the entity has been deleted */
    isDeleted?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** Timestamp when the member last viewed the channel (in milliseconds since Unix epoch) */
    lastViewedAt?: InputMaybe<Scalars["Float"]["input"]>;
    /** The notification preference for this member (all, mentions, none) */
    notificationPreference?: InputMaybe<DmsFeedMemberNotificationPreferences>;
    /** The status of the member (active, inactive, banned) */
    status?: InputMaybe<DmsFeedMemberStatuses>;
    /** The ID of the user */
    userId: Scalars["ID"]["input"];
}
/** The notification preferences for a DMs feed member */
type DmsFeedMemberNotificationPreferences = 
/** All */
"all"
/** Mentions */
 | "mentions"
/** None */
 | "none";
/** The statuses of a DMs feed member */
type DmsFeedMemberStatuses = 
/** Accepted */
"accepted"
/** Archived */
 | "archived"
/** Closed */
 | "closed"
/** Hidden */
 | "hidden"
/** Requested */
 | "requested";
/** The types of DMs feeds */
type DmsFeedTypes = "direct_message" | "group_chat";
/** The input to create a post in a feed */
interface DmsPostInput {
    /** The attachments for this message */
    attachments?: InputMaybe<Array<AttachmentInput>>;
    /** The content of the post */
    content?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the DM channel this post belongs to */
    feedId: Scalars["ID"]["input"];
    /** The type of the feed this post belongs to */
    feedType: FeedTypes;
    /**
     * The file attachments for this message
     * @deprecated Use attachments instead
     */
    fileAttachments?: InputMaybe<Array<FileAttachmentInput>>;
    /** The GIFs attached to this message */
    gifs?: InputMaybe<Array<GifInput>>;
    /** The unique identifier for the post */
    id: Scalars["ID"]["input"];
    /** Whether the entity has been deleted */
    isDeleted?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** Whether everyone was mentioned in the post */
    isEveryoneMentioned?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** Whether the post is pinned */
    isPinned?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The link embeds for this message */
    linkEmbeds?: InputMaybe<Array<LinkEmbedInput>>;
    /** The IDs of the users mentioned in the post */
    mentionedUserIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The ID of the parent post, if applicable */
    parentId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The poll for this message */
    poll?: InputMaybe<PollInput>;
    /** The ID of the message this is replying to, if applicable */
    replyingToPostId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The rich content of the post */
    richContent?: InputMaybe<Scalars["JSON"]["input"]>;
}
/** The types of post */
type DmsPostTypes = "automated" | "regular" | "system";
/** The types of earnings on the platform */
type EarningsReportPeriods = "last_7_days" | "last_24_hours" | "last_30_days" | "lifetime";
/** The types of earnings on the platform */
type EarningsTypes = 
/** Affiliate Payment */
"affiliate_payment"
/** Bounty Payout */
 | "bounty_payout"
/** Company Referral */
 | "company_referral"
/** Content Reward Fixed Payout */
 | "content_reward_fixed_payout"
/** Content Reward Payout */
 | "content_reward_payout"
/** Creator To Creator */
 | "creator_to_creator"
/** Creator To User */
 | "creator_to_user"
/** Membership Referral */
 | "membership_referral"
/** Payment Payout */
 | "payment_payout"
/** Team Member Payout */
 | "team_member_payout"
/** User To Creator */
 | "user_to_creator"
/** User To User */
 | "user_to_user";
/** The type of entity to fetch */
type EntityTypes = 
/** Chat Feed */
"chat_feed"
/** Dms Feed */
 | "dms_feed"
/** Dms Feed Member */
 | "dms_feed_member"
/** Dms Post */
 | "dms_post"
/** Forum Feed */
 | "forum_feed"
/** Forum Post */
 | "forum_post"
/** Livestream Feed */
 | "livestream_feed"
/** Muted User */
 | "muted_user"
/** Reaction */
 | "reaction";
/** Filters for the entries table. */
interface EntriesFiltersInput {
    /** The access pass IDs to filter the entries by */
    accessPassIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The end date to filter the entries by */
    endDate?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The plan IDs to filter the entries by */
    planIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The start date to filter the entries by */
    startDate?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The statuses to filter the entries by */
    statuses?: InputMaybe<Array<EntryStatus>>;
}
/** Which columns can be used to sort. */
type EntriesSortableColumns = "created_at" | "id";
/** Values to filter entries on */
interface EntryFilters {
    /** How to order the results. */
    direction?: InputMaybe<Direction>;
    /** What the results should be ordered by. */
    order?: InputMaybe<EntryOrder>;
    /** A specific status */
    status?: InputMaybe<EntryStatus>;
    /** A list of statuses */
    statuses?: InputMaybe<Array<EntryStatus>>;
}
/** The order to sort the entries by */
type EntryOrder = "created_at" | "member_discord" | "member_username" | "selected";
/** The status of an entry to a waitlist or raffle. */
type EntryStatus = "any" | "approved" | "denied" | "pending";
/** An entry can either be a watlist or raffle */
type EntryTypes = "raffle" | "waitlist";
/** The different access levels for experiences (PUBLIC IS NEVER USED ANYMORE). */
type ExperienceAccessLevels = "private" | "public";
/** The type of content that this experience card contains */
type ExperienceActivityCardTypes = "availability" | "booking" | "bounty" | "bounty_submission" | "calendar_bookings_availability" | "calendar_bookings_booking" | "campaign" | "content" | "content_rewards_campaign" | "content_rewards_submission" | "course" | "dms_post" | "event" | "events_event" | "events_rsvp" | "feed_dms_post" | "feed_forum_post" | "feed_livestream_feed" | "forum_post" | "livestream_feed" | "rsvp" | "spin" | "submission" | "wheel" | "wheel_spin" | "wheel_wheel";
/** Values to filter plans on */
interface ExperienceFilters {
    /**
     * The access level to filter on.
     * @deprecated You can't filter by access level anymore
     */
    accessLevel?: InputMaybe<ExperienceAccessLevels>;
    /** The ID of the access pass to filter on. */
    accessPassId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The ID of the experience interface to filter on. */
    appId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The type of experience.. */
    experienceType?: InputMaybe<ExperienceTypes>;
    /** Either includes or excludes experiences on a given access pass. */
    onAccessPass?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The query to search for. */
    query?: InputMaybe<Scalars["String"]["input"]>;
}
/** The types of links that can be generated. */
type ExperienceLinkModes = "iframe_link" | "link";
/** The different types of experiences that can be created. */
type ExperienceTypes = 
/** Has Interface */
"has_interface";
/** The type of feed to fetch from */
type FeedTypes = 
/** Chat Feed */
"chat_feed"
/** Dms Feed */
 | "dms_feed"
/** Forum Feed */
 | "forum_feed"
/** Livestream Feed */
 | "livestream_feed"
/** Universal Post */
 | "universal_post"
/** User */
 | "user";
/** Input for a file attachment */
interface FileAttachmentInput {
    /** The aspect ratio of the image, if applicable */
    aspectRatio?: InputMaybe<Scalars["Float"]["input"]>;
    /** The type of the attachment (e.g., image, video) */
    attachmentType: FileAttachmentTypes;
    /** The blurred data URL for image preview */
    blurUrl?: InputMaybe<Scalars["String"]["input"]>;
    /** The attachment's content type (e.g., image/jpg, video/mp4) */
    contentType?: InputMaybe<Scalars["String"]["input"]>;
    /** The name of the file */
    fileName?: InputMaybe<Scalars["String"]["input"]>;
    /** The size of the file in bytes */
    fileSize?: InputMaybe<Scalars["Int"]["input"]>;
    /** The URL to access the file */
    fileUrl: Scalars["String"]["input"];
    /** The height of the image */
    height?: InputMaybe<Scalars["Int"]["input"]>;
    /** The ID of the file attachment */
    id?: InputMaybe<Scalars["ID"]["input"]>;
    /** The URL to access the thumbnail */
    thumbnailUrl?: InputMaybe<Scalars["String"]["input"]>;
    /** The width of the image */
    width?: InputMaybe<Scalars["Int"]["input"]>;
}
/** The different moderation results for a file attachment. */
type FileAttachmentModerationResultsTypes = 
/** Nsfw */
"nsfw";
/** The types of supported file attachments */
type FileAttachmentTypes = 
/** Audio */
"audio"
/** File */
 | "file"
/** Image */
 | "image"
/** Unknown */
 | "unknown"
/** Video */
 | "video";
/** The duration of a FlashSale */
type FlashSaleDurations = 
/** Forever */
"forever"
/** Once */
 | "once";
/** The status of a FlashSale */
type FlashSaleStatuses = 
/** Active */
"active"
/** Archived */
 | "archived"
/** Draft */
 | "draft";
/** Email notification preference option for a forum feed */
type ForumEmailNotificationPreferences = "all_admin_posts" | "none" | "only_weekly_summary";
/** The layout display option of a forum feed */
type ForumLayoutTypes = "blog" | "feed";
/** The types of post */
type ForumPostTypes = "automated" | "regular" | "system";
/** Who can comment on a forum feed */
type ForumWhoCanCommentTypes = "admins" | "everyone";
/** Who can post on a forum feed */
type ForumWhoCanPostTypes = "admins" | "everyone";
/** The friendly status of a receipt */
type FriendlyReceiptStatus = "auto_refunded" | "canceled" | "dispute_warning" | "drafted" | "failed" | "incomplete" | "open_dispute" | "open_resolution" | "partially_refunded" | "past_due" | "pending" | "price_too_low" | "refunded" | "succeeded" | "uncollectible" | "unresolved";
/** A gateway for a payment token. */
type GatewayTypes = 
/** Multi Psp */
"multi_psp"
/** Paypal */
 | "paypal";
/** Input for a GIF attachment */
interface GifInput {
    /** The height of the GIF in pixels */
    height: Scalars["Int"]["input"];
    /** The original URL of the GIF */
    originalUrl: Scalars["String"]["input"];
    /** The URL for a preview image of the GIF */
    previewUrl: Scalars["String"]["input"];
    /** The provider of the GIF */
    provider: GifProviders;
    /** The unique identifier of the GIF */
    slug: Scalars["ID"]["input"];
    /** The title of the GIF */
    title: Scalars["String"]["input"];
    /** The URL of the full GIF */
    url: Scalars["String"]["input"];
    /** The width of the GIF in pixels */
    width: Scalars["Int"]["input"];
}
/** The types of supported GIFs providers */
type GifProviders = 
/** Giphy */
"giphy";
/** The different statuses of the global affiliate program for an access pass. */
type GlobalAffiliateStatuses = "disabled" | "enabled";
/** The scope of the results to return. */
type HubMembershipStatus = "active" | "inactive";
/** Predefined attachment variants */
type ImageAttachmentVariants = "legacy" | "original" | "s16" | "s20" | "s24" | "s32" | "s40" | "s48" | "s48fit" | "s64" | "s64fit" | "s80" | "s80fit" | "s128" | "s180" | "s250x125" | "s250x125fit" | "s440x220" | "s440x220fit" | "s500x250" | "s500x250fit" | "s512x288" | "s512x288fit" | "s600x200" | "s600x400" | "s600x400fit" | "s720x1280" | "s720x1280fit" | "s800x200" | "s900x300" | "s1000x500" | "s1000x500fit" | "s1080x1920" | "s1080x1920fit" | "s1080x1920fit_h264_vq7" | "s1200x630" | "s1280x720" | "s1280x720fit" | "s1600x400" | "s1920x1080" | "s1920x1080fit" | "s1920x1080fit_h264_vq7" | "x2" | "x5";
/** Allowed image file types for uploading to the platform */
type ImageExtensions = "GIF" | "JPEG" | "JPG" | "PNG" | "SVG" | "WEBP";
/** Image styles for image. */
type ImageImageStyles = "original" | "s16" | "s20" | "s24" | "s32" | "s40" | "s48" | "s48fit" | "s64" | "s64fit" | "s80" | "s80fit" | "s128" | "s180" | "s250x125" | "s250x125fit" | "s440x220" | "s440x220fit" | "s500x250" | "s500x250fit" | "s512x288" | "s512x288fit" | "s600x200" | "s600x400" | "s600x400fit" | "s800x200" | "s900x300" | "s1000x500" | "s1000x500fit" | "s1200x630" | "s1280x720" | "s1280x720fit" | "s1600x400" | "s1920x1080" | "s1920x1080fit";
/** The different industry types a company can be in. */
type IndustryTypes = 
/** Accessories */
"accessories"
/** Agencies */
 | "agencies"
/** Ai */
 | "ai"
/** Ai Agency */
 | "ai_agency"
/** Amazon Fba */
 | "amazon_fba"
/** Auto Repair Shop */
 | "auto_repair_shop"
/** Beauty And Personal Care */
 | "beauty_and_personal_care"
/** Bootcamps */
 | "bootcamps"
/** Business */
 | "business"
/** Careers */
 | "careers"
/** Clipping */
 | "clipping"
/** Clipping Agency */
 | "clipping_agency"
/** Clothing */
 | "clothing"
/** Coaching Agency */
 | "coaching_agency"
/** Coffee Shop */
 | "coffee_shop"
/** Concerts */
 | "concerts"
/** Convention */
 | "convention"
/** Customer Support Agency */
 | "customer_support_agency"
/** Dating */
 | "dating"
/** Design Agency */
 | "design_agency"
/** Development Agency */
 | "development_agency"
/** Ecommerce */
 | "ecommerce"
/** Electronics And Gadgets */
 | "electronics_and_gadgets"
/** Fitness */
 | "fitness"
/** Fitness Gear */
 | "fitness_gear"
/** Food And Beverages */
 | "food_and_beverages"
/** Gym */
 | "gym"
/** Health And Wellness */
 | "health_and_wellness"
/** Home Goods */
 | "home_goods"
/** Home Services */
 | "home_services"
/** Hotel Lodging */
 | "hotel_lodging"
/** Kindle Book Publishing */
 | "kindle_book_publishing"
/** Marketing Agency */
 | "marketing_agency"
/** Masterminds */
 | "masterminds"
/** Medical Dentist Office */
 | "medical_dentist_office"
/** Meetups */
 | "meetups"
/** Other */
 | "other"
/** Parties */
 | "parties"
/** Personal Development */
 | "personal_development"
/** Personal Finance */
 | "personal_finance"
/** Public Speaking */
 | "public_speaking"
/** Real Estate */
 | "real_estate"
/** Recruiting Agency */
 | "recruiting_agency"
/** Reselling */
 | "reselling"
/** Restaurant */
 | "restaurant"
/** Retail Store */
 | "retail_store"
/** Sales */
 | "sales"
/** Sales Agency */
 | "sales_agency"
/** Salon Spa */
 | "salon_spa"
/** Social Media */
 | "social_media"
/** Software */
 | "software"
/** Spirituality */
 | "spirituality"
/** Sports Betting */
 | "sports_betting"
/** Supplements */
 | "supplements"
/** Trading */
 | "trading"
/** Travel */
 | "travel"
/** Vas */
 | "vas"
/** Video Games */
 | "video_games"
/** Webinars */
 | "webinars";
/** The collection type for an information request item */
type InformationRequestItemCollectionType = "multi" | "none" | "single";
/** The format of the text for an information request item */
type InformationRequestItemTextFormat = "email" | "phone" | "plain" | "url";
/** The statuses an information request can have */
type InformationRequestStatus = "awaiting_review" | "canceled" | "completed" | "requires_collection";
/** The different error codes for instant payouts */
type InstantPayoutErrorCodes = 
/** Account Daily Limit Reached */
"account_daily_limit_reached"
/** Amount Too High */
 | "amount_too_high"
/** Feature Disabled */
 | "feature_disabled"
/** Only Us Accounts */
 | "only_us_accounts"
/** Only Usd */
 | "only_usd"
/** Platform Daily Limit Reached */
 | "platform_daily_limit_reached"
/** Restricted Account */
 | "restricted_account"
/** Unsupported External Account */
 | "unsupported_external_account";
/** The properties of the access pass to create for this invoice. */
interface InvoiceAccessPassInput {
    /** The ID of the product tax code to apply to this access pass. */
    productTaxCodeId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The title of the access pass. */
    title: Scalars["String"]["input"];
}
/** The method of collection for an invoice. */
type InvoiceCollectionMethods = 
/** Charge a specific payment method for a customer. */
"charge_automatically"
/** Send an invoice to the customer via email. */
 | "send_invoice";
/** The properties of the plan to create for this invoice. */
interface InvoicePlanInput {
    /** Whether or not ACH payments are accepted */
    achPayments?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The respective currency identifier for the plan. */
    baseCurrency?: InputMaybe<Currencies>;
    /** The interval at which the plan charges (renewal plans). */
    billingPeriod?: InputMaybe<Scalars["Int"]["input"]>;
    /** Whether or not card payments are accepted */
    cardPayments?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** Marks whether coinbase commerce payments are/aren't accepted. */
    coinbaseCommerceAccepted?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** An array of custom field objects. */
    customFields?: InputMaybe<Array<CustomFieldInput>>;
    /** The description of the plan. */
    description?: InputMaybe<Scalars["String"]["input"]>;
    /** The interval at which the plan charges (expiration plans). */
    expirationDays?: InputMaybe<Scalars["Int"]["input"]>;
    /** An additional amount charged upon first purchase. */
    initialPrice?: InputMaybe<Scalars["StringFloat"]["input"]>;
    /** A personal description or notes section for the business. */
    internalNotes?: InputMaybe<Scalars["String"]["input"]>;
    /** Whether or not to offer a discount to cancel a subscription. */
    offerCancelDiscount?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** Marks whether paypal payments are/aren't accepted. */
    paypalAccepted?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** Indicates if the plan is a one time payment or recurring. */
    planType?: InputMaybe<PlanTypes>;
    /** Marks whether platform balance payments are/aren't accepted. */
    platformBalanceAccepted?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The URL to redirect the customer to after purchase. */
    redirectUrl?: InputMaybe<Scalars["String"]["input"]>;
    /** This is the release method the business uses to sell this plan. */
    releaseMethod?: InputMaybe<ReleaseMethod>;
    /** Configurable settings on how this plan is released. */
    releaseMethodSettings?: InputMaybe<ReleaseMethodSettingsInput>;
    /** The amount the customer is charged every billing period. */
    renewalPrice?: InputMaybe<Scalars["StringFloat"]["input"]>;
    /** The number of payments required before pausing the subscription. */
    splitPayRequiredPayments?: InputMaybe<Scalars["Int"]["input"]>;
    /** Marks whether payments using splitit, a payment processor, are/aren't accepted for the plan. */
    splititAccepted?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The number of units available for purchase. */
    stock?: InputMaybe<Scalars["Int"]["input"]>;
    /** The number of free trial days added before a renewal plan. */
    trialPeriodDays?: InputMaybe<Scalars["Int"]["input"]>;
    /** Limits/doesn't limit the number of units available for purchase. */
    unlimitedStock?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** Shows or hides the plan from public/business view. */
    visibility?: InputMaybe<Visibility>;
}
/** The different statuses an invoice can be in */
type InvoiceStatuses = 
/** Open */
"open"
/** Paid */
 | "paid"
/** Past Due */
 | "past_due"
/** Void */
 | "void";
/** Filters for the invoices table. */
interface InvoicesFiltersInput {
    /** The access pass IDs to filter the invoices by */
    accessPassIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The collection methods to filter the invoices by */
    collectionMethods?: InputMaybe<Array<InvoiceCollectionMethods>>;
    /** The statuses to filter the invoices by */
    statuses?: InputMaybe<Array<InvoiceStatuses>>;
}
/** Which columns can be used to sort. */
type InvoicesSortableColumns = "created_at" | "due_date" | "id";
/** A type of order that the ItemOrdering represents. */
type ItemOrderingOrderTypes = 
/** Experience */
"experience"
/** Hub Creator */
 | "hub_creator"
/** Hub Customer */
 | "hub_customer";
/** The available languages for a course */
type Languages = 
/** Bg */
"bg"
/** Ca */
 | "ca"
/** Cs */
 | "cs"
/** Da */
 | "da"
/** De */
 | "de"
/** El */
 | "el"
/** En */
 | "en"
/** Es */
 | "es"
/** Fi */
 | "fi"
/** Fr */
 | "fr"
/** Hr */
 | "hr"
/** It */
 | "it"
/** Nl */
 | "nl"
/** No */
 | "no"
/** Pl */
 | "pl"
/** Pt */
 | "pt"
/** Ro */
 | "ro"
/** Ru */
 | "ru"
/** Sk */
 | "sk"
/** Sv */
 | "sv"
/** Tr */
 | "tr"
/** Uk */
 | "uk";
/** The different types of leaderboards that can be fetched */
type LeaderboardTypes = "affiliate_earnings" | "average_time_spent" | "money_earned_last_7_days" | "money_earned_last_24_hours" | "money_earned_last_30_days" | "new_users" | "top_rated" | "total_time_spent" | "usd_gmv" | "whop_partners_earnings_last_30_days" | "whop_partners_gtv_last_30_days";
/** Which columns can be used to sort. */
type LeadsSortableColumns = "created_at" | "id";
/** The different statuses a LedgerAccountAudit can be */
type LedgerAccountAuditStatuses = 
/** Requested More Information */
"requested_more_information"
/** Reserves Imposed */
 | "reserves_imposed";
/** The standing of a ledger account, based on their dispute risk scores */
type LedgerAccountStandings = "at_risk" | "good";
/** The types of ledgers that can be created. */
type LedgerTypes = 
/** Pool */
"pool"
/** Primary */
 | "primary";
/** The different withdrawal frequencies a LedgerAccount can have */
type LedgerWithdrawalFrequencies = 
/** Daily */
"daily"
/** Manual */
 | "manual"
/** Monthly */
 | "monthly"
/** Weekly */
 | "weekly";
/** The different statuses a LedgerAccount's withdrawal_status can be */
type LedgerWithdrawalStatuses = 
/** Active */
"active"
/** Inactive */
 | "inactive";
/** The available types for a lesson */
type LessonTypes = 
/** Knowledge check */
"knowledge_check"
/** Multi */
 | "multi"
/** Pdf */
 | "pdf"
/** Quiz */
 | "quiz"
/** Text */
 | "text"
/** Video */
 | "video";
/** The available visibilities for a lesson. Determines how / whether a lesson is visible to users. */
type LessonVisibilities = 
/** Hidden */
"hidden"
/** Visible */
 | "visible";
/** The order to sort liked discover access passes by. */
type LikedDiscoverAccessPassesOrder = 
/** Sort by promo code presence first, then rated at date */
"promo_code_and_rated_at"
/** Sort by when the access pass was rated */
 | "rated_at";
/** Input for a link embed */
interface LinkEmbedInput {
    /** The URL of the linked content */
    url: Scalars["String"]["input"];
}
/** Possible livestream destinations a user can restream to */
type LivestreamDestination = 
/** Facebook */
"facebook"
/** Instagram */
 | "instagram"
/** Kick */
 | "kick"
/** Rumble */
 | "rumble"
/** Steam */
 | "steam"
/** Telegram */
 | "telegram"
/** Twitch */
 | "twitch"
/** Vimeo */
 | "vimeo"
/** X */
 | "x"
/** Youtube */
 | "youtube";
/** Input for a livestream feed */
interface LivestreamFeedInput {
    /** Whether or not media is banned in this livestream */
    banMedia?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** Whether or not URLs are banned in this livestream */
    banUrls?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** List of banned words in this livestream */
    bannedWords?: InputMaybe<Array<Scalars["String"]["input"]>>;
    /** The description of this livestream */
    description?: InputMaybe<Scalars["String"]["input"]>;
    /** The empty timeout of this livestream */
    emptyTimeout?: InputMaybe<Scalars["Int"]["input"]>;
    /** The unique identifier for the feed */
    id?: InputMaybe<Scalars["ID"]["input"]>;
    /** Whether the entity has been deleted */
    isDeleted?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The number of participants that can join the livestream (0 is unlimited) */
    maxParticipants?: InputMaybe<Scalars["Int"]["input"]>;
    /** The metadata of this livestream */
    metadata?: InputMaybe<Scalars["JSON"]["input"]>;
    /** Whether or not live reactions are enabled in this livestream */
    reactionsEnabled?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The destinations to restream to */
    restreamDestinations?: InputMaybe<Array<LivestreamDestination>>;
    /** The scheduled time of this livestream */
    scheduledAt?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The title of this livestream */
    title?: InputMaybe<Scalars["String"]["input"]>;
    /** The number of seconds a user needs to wait before posting again, if any */
    userPostsCooldownSeconds?: InputMaybe<Scalars["Int"]["input"]>;
    /** Who can post on this livestream */
    whoCanPost?: InputMaybe<LivestreamWhoCanPostTypes>;
    /** Who can react on this livestream */
    whoCanReact?: InputMaybe<LivestreamWhoCanReactTypes>;
}
/** The status of a livestream recording */
type LivestreamRecordingStatus = 
/** Completed */
"completed"
/** Failed */
 | "failed"
/** Processing */
 | "processing"
/** Recording */
 | "recording";
/** Who can post on a livestream feed */
type LivestreamWhoCanPostTypes = "admins" | "everyone";
/** Who can react on a livestream feed */
type LivestreamWhoCanReactTypes = "everyone" | "no_one";
/** Values to filter made for you affiliates on */
interface MadeForYouPlanFilters {
    /** Search by plan name, product name, or company name */
    query?: InputMaybe<Scalars["String"]["input"]>;
}
/** The sub-items that should be displayed for the stripe account. */
type ManagementItems = "billing_details" | "country" | "merchant_of_record" | "payout_frequency";
/** Autogenerated input type of MarkLessonAsCompleted */
interface MarkLessonAsCompletedInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the lesson to mark as completed */
    lessonId: Scalars["ID"]["input"];
}
/** The columns that can be used to order. */
type MarketplaceCategoryOrder = "created_at" | "id" | "live_access_pass_count" | "live_page_count" | "manual_position" | "name" | "random";
/** The marketplace types that are available for categories. */
type MarketplaceCategoryTypes = 
/** App */
"app"
/** Regular */
 | "regular";
/** The available marketplace statuses to choose from. */
type MarketplaceStatuses = "live_marketplace" | "not_available" | "pending_review";
type Media = "audio" | "image" | "other" | "video";
/** The different most recent actions a member can have. */
type MemberMostRecentActions = 
/** Canceling */
"canceling"
/** Churned */
 | "churned"
/** Drafted */
 | "drafted"
/** Expiring */
 | "expiring"
/** Finished Split Pay */
 | "finished_split_pay"
/** Joined */
 | "joined"
/** Left */
 | "left"
/** Paid Once */
 | "paid_once"
/** Paid Subscriber */
 | "paid_subscriber"
/** Past Due */
 | "past_due"
/** Paused */
 | "paused"
/** Pending Entry */
 | "pending_entry"
/** Renewing */
 | "renewing"
/** Trialing */
 | "trialing";
/** The different statuses a Member can have. */
type MemberStatuses = 
/** Drafted */
"drafted"
/** Joined */
 | "joined"
/** Left */
 | "left";
/** The type of subtext to display for a member */
type MemberSubtextTypes = 
/** Canceled On */
"canceled_on"
/** Canceling On */
 | "canceling_on"
/** Ending On */
 | "ending_on"
/** Finished Split Pay At */
 | "finished_split_pay_at"
/** Next Payment Attempt */
 | "next_payment_attempt"
/** Past Due */
 | "past_due"
/** Paused At */
 | "paused_at"
/** Renewing On */
 | "renewing_on"
/** Trial Canceling On */
 | "trial_canceling_on"
/** Trial Ends At */
 | "trial_ends_at"
/** Unresolved At */
 | "unresolved_at";
/** Filters for the members table. */
interface MembersFiltersInput {
    /** The access pass IDs to filter the members by */
    accessPassIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The end date to filter the members by */
    endDate?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The membership status to filter the members by */
    membershipStatus?: InputMaybe<MembershipStatus>;
    /** The most recent actions to filter the members by */
    mostRecentActions?: InputMaybe<Array<MemberMostRecentActions>>;
    /** The plan IDs to filter the members by */
    planIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The promo code IDs to filter the members by */
    promoCodeIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /**
     * The name, username, or email to filter the members by. The email filter will
     * only apply if the current actor has the `member:email:read` permission.
     */
    query?: InputMaybe<Scalars["String"]["input"]>;
    /** The start date to filter the members by */
    startDate?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The statuses to filter the members by */
    statuses?: InputMaybe<Array<MemberStatuses>>;
    /** The tracking link IDs to filter the members by */
    trackingLinkIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
}
/** Which columns can be used to sort. */
type MembersSortableColumns = "created_at" | "id" | "joined_at" | "most_recent_action" | "usd_total_spent";
/** The actions that can be performed on a membership */
type MembershipActions = "add_discord_roles" | "add_free_days" | "cancel_membership" | "fulfill_trading_view_indicators" | "pause_subscription_payments" | "reset_license" | "retry_payment" | "shuffle_license" | "terminate_membership" | "unlink_discord" | "unpause_subscription_payments";
/** The state of a membership, based on a company's accepted sub statuses. */
type MembershipHeaderStatus = "active" | "churned";
/** Image styles for membership. */
type MembershipImageStyles = "s40";
/** The payment processor used for a membership */
type MembershipPaymentProcessor = 
/** Apple */
"apple"
/** Coinbase */
 | "coinbase"
/** Crypto */
 | "crypto"
/** Free */
 | "free"
/** Multi Psp */
 | "multi_psp"
/** Paypal */
 | "paypal"
/** Platform Balance */
 | "platform_balance"
/** Sezzle */
 | "sezzle"
/** Splitit */
 | "splitit"
/** Stripe */
 | "stripe";
/** Whether or not to send push notifications to the user of a membership */
type MembershipPushNotification = 
/** Disabled */
"disabled"
/** Enabled */
 | "enabled";
/** The status of a membership */
type MembershipStatus = 
/** Active */
"active"
/** Canceled */
 | "canceled"
/** Completed */
 | "completed"
/** Drafted */
 | "drafted"
/** Expired */
 | "expired"
/** Past Due */
 | "past_due"
/** Trialing */
 | "trialing"
/** Unresolved */
 | "unresolved";
/** Filters for the memberships table. */
interface MembershipsFiltersInput {
    /** The access pass IDs to filter the memberships by */
    accessPassIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The access pass types to filter the memberships by */
    accessPassTypes?: InputMaybe<Array<AccessPassTypes>>;
    /** The cancelation reasons to filter the memberships by */
    cancelationReasons?: InputMaybe<Array<CancelOptions>>;
    /** The end date to filter the memberships by */
    endDate?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** Whether the memberships have a cancelation reason */
    hasCancelationReason?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The header filter to filter the memberships by */
    headerFilter?: InputMaybe<MembershipHeaderStatus>;
    /** The membership status to filter the memberships by */
    membershipStatus?: InputMaybe<HubMembershipStatus>;
    /** The plan IDs to filter the memberships by */
    planIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The promo code IDs to filter the memberships by */
    promoCodeIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The start date to filter the memberships by */
    startDate?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The statuses to filter the memberships by */
    statuses?: InputMaybe<Array<MembershipStatus>>;
    /** The tracking link IDs to filter the memberships by */
    trackingLinkIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
}
/** Which columns can be used to sort. */
type MembershipsSortableColumns = "canceled_at" | "created_at" | "date_joined" | "id" | "status" | "total_spend";
/** The different moderation results for an attachment */
type ModerationResults = 
/** Nsfw */
"nsfw";
/** Autogenerated input type of MoveCourse */
interface MoveCourseInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the course to move */
    courseId: Scalars["ID"]["input"];
    /** The experience to move the course into */
    destinationExperienceId: Scalars["ID"]["input"];
}
/** Input for a feed muted member */
interface MutedUserInput {
    /** The ID of the feed */
    feedId: Scalars["ID"]["input"];
    /** The feed type */
    feedType?: FeedTypes;
    /** The unique identifier for the muted user */
    id: Scalars["ID"]["input"];
    /** Whether the entity has been deleted */
    isDeleted?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The time the user is muted till */
    mutedUntil?: InputMaybe<Scalars["Float"]["input"]>;
    /** The ID of the user */
    userId: Scalars["ID"]["input"];
}
/** Mux asset statuses */
type MuxAssetStatuses = 
/** Created */
"created"
/** Ready */
 | "ready"
/** Uploading */
 | "uploading";
/** The different types of Stripe Accounts. */
type NormalizedAccountTypes = "custom" | "express" | "personal" | "standard" | "whop_credit";
/** The channel for a notification preference */
type NotificationPreferenceChannel = 
/** In App */
"in_app"
/** Mobile */
 | "mobile";
/** Values to filter preferences on */
interface NotificationPreferencesFilters {
    /** The channel to retrieve a user's preferences for */
    channel?: InputMaybe<NotificationPreferenceChannel>;
    /** The company to retrieve a user's preferences for */
    companyId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The company team ID to retrieve a user's preferences for */
    companyTeamId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The experience to retrieve a user's preferences for */
    experienceId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The topic to retrieve a user's preferences for */
    topicId?: InputMaybe<Scalars["ID"]["input"]>;
}
/** Values to filter preferences on */
interface NotificationPreferencesFiltersV3 {
    /** The channel to retrieve a user's preferences for */
    channel?: InputMaybe<NotificationPreferenceChannel>;
    /** The company to retrieve a user's preferences for */
    companyId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The company team ID to retrieve a user's preferences for */
    companyTeamId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The experience to retrieve a user's preferences for */
    experienceId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The topic to retrieve a user's preferences for */
    topicId?: InputMaybe<Scalars["ID"]["input"]>;
}
/** The status of the notification topic. If it's active, they will send. */
type NotificationTopicStatus = 
/** Active */
"active"
/** Inactive */
 | "inactive";
/** The type for the notification topic. */
type NotificationTopicTypes = 
/** Company */
"company"
/** Company Team */
 | "company_team"
/** User */
 | "user";
/** The visibility of the notification topic. If it's hidden, it won't show on the UI. */
type NotificationTopicVisibility = 
/** Hidden */
"hidden"
/** Visible */
 | "visible";
/** Values to filter notifications on */
interface NotificationsV4Filters {
    /**
     * The client's last fetched at timestamp. If passed will only return
     * notifications created after this timestamp. NOT YET IMPLEMENTED
     */
    clientLastFetchedAt?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The company ID that you want to filter by. Will return notifications sent to this team. */
    companyTeamId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The experience ID that you want to filter by */
    experienceId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The experience IDs that you want to filter by. Overrides experience_id. */
    experienceIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** Whether the notifications are mentions or not */
    isMention?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** Whether to only return unread notifications */
    unreadOnly?: InputMaybe<Scalars["Boolean"]["input"]>;
}
/** Values to paginate notifications on */
interface NotificationsV4Pagination {
    /** Filter all notifications made after this */
    after?: InputMaybe<Scalars["ID"]["input"]>;
    /** Filter all notifications made before this */
    before?: InputMaybe<Scalars["ID"]["input"]>;
    /** The number of notifications to return. Default is 50 */
    limit?: InputMaybe<Scalars["Int"]["input"]>;
}
/** The different providers that can be used for onboarding a ledger account. */
type OnboardingProviders = "generic" | "stripe";
/** The different onboarding types for a company. */
type OnboardingTypes = 
/** Payments */
"payments"
/** Products */
 | "products";
/** The different variants of OpenGraph images for a company. */
type OpengraphImageVariants = 
/** Black */
"black"
/** Orange */
 | "orange"
/** White */
 | "white";
/** The account_types for a payment account object */
type PaymentAccountAccountTypes = 
/** Custom */
"custom"
/** Express */
 | "express"
/** Personal */
 | "personal"
/** Platform Managed */
 | "platform_managed"
/** Standard */
 | "standard"
/** Whop Credit */
 | "whop_credit";
/** The different action banners that can be shown for a payment account */
type PaymentAccountActionBanners = "requires_additional_information";
/** The providers for a payment account object */
type PaymentAccountProviders = 
/** Coinbase */
"coinbase"
/** Paypal */
 | "paypal"
/** Stripe */
 | "stripe";
/** The different statuses for a payment account object */
type PaymentAccountStatuses = 
/** Broken */
"broken"
/** Connected */
 | "connected"
/** Disabled By Whop */
 | "disabled_by_whop"
/** Missing Settlement Address */
 | "missing_settlement_address"
/** Needs Completion */
 | "needs_completion"
/** Needs Reauthorization */
 | "needs_reauthorization"
/** Oauth Integration Not Found */
 | "oauth_integration_not_found"
/** Payments Not Receivable */
 | "payments_not_receivable"
/** Primary Email Not Confirmed */
 | "primary_email_not_confirmed"
/** Reconnect Api Keys */
 | "reconnect_api_keys"
/** Rejected */
 | "rejected"
/** Requirements Not Met */
 | "requirements_not_met"
/** Setup */
 | "setup"
/** Under Review */
 | "under_review"
/** Webhook Not Verified */
 | "webhook_not_verified";
/** The high level payment processor options. */
type PaymentMethods = 
/** Apple */
"apple"
/** Coinbase */
 | "coinbase"
/** Crypto */
 | "crypto"
/** Free */
 | "free"
/** Multi Psp */
 | "multi_psp"
/** Nft */
 | "nft"
/** Paypal */
 | "paypal"
/** Platform Balance */
 | "platform_balance"
/** Sezzle */
 | "sezzle"
/** Splitit */
 | "splitit"
/** Stripe */
 | "stripe";
/** The high level payment processor options. */
type PaymentProcessor = "apple" | "coinbase" | "free" | "multi_psp" | "paypal" | "platform_balance" | "sezzle" | "splitit" | "stripe" | "venmo";
/** The different payment providers. */
type PaymentProviders = 
/** Apple */
"apple"
/** Coinbase */
 | "coinbase"
/** Multi Psp */
 | "multi_psp"
/** Paypal */
 | "paypal"
/** Platform Balance */
 | "platform_balance"
/** Sezzle */
 | "sezzle"
/** Splitit */
 | "splitit"
/** Stripe */
 | "stripe";
/** The different providers of payment transactions. */
type PaymentTransactionProviders = 
/** Multi Psp */
"multi_psp"
/** Splitit */
 | "splitit";
/** The different statuses a payment transaction can be in. */
type PaymentTransactionStatuses = 
/** Created */
"created"
/** Declined */
 | "declined"
/** Error */
 | "error"
/** Expired */
 | "expired"
/** Lost */
 | "lost"
/** Pending */
 | "pending"
/** Rejected */
 | "rejected"
/** Succeeded */
 | "succeeded"
/** Won */
 | "won";
/** The different types of payment transactions. */
type PaymentTransactionTypes = 
/** Authorization */
"authorization"
/** Authorize */
 | "authorize"
/** Cancel */
 | "cancel"
/** Capture */
 | "capture"
/** Chargeback */
 | "chargeback"
/** Fraud Screening */
 | "fraud_screening"
/** Installment */
 | "installment"
/** Purchase */
 | "purchase"
/** Refund */
 | "refund"
/** Three D Secure */
 | "three_d_secure"
/** Verify */
 | "verify";
/** The different approval statuses an account can have. */
type PaymentsApprovalStatuses = 
/** Approved */
"approved"
/** Monitoring */
 | "monitoring"
/** Pending */
 | "pending"
/** Rejected */
 | "rejected";
/** The different providers a payout account can be. */
type PayoutAccountProviders = 
/** Masspay */
"masspay";
/** The different statuses payout account can be. */
type PayoutAccountStatuses = 
/** Connected */
"connected"
/** Disabled */
 | "disabled"
/** Needs Completion */
 | "needs_completion";
/** The different delivery_types for a payout or payout destination. */
type PayoutDeliveryTypes = 
/** Bank Deposit */
"bank_deposit"
/** Bill */
 | "bill"
/** Cash Pickup */
 | "cash_pickup"
/** Cryptocurrency */
 | "cryptocurrency"
/** Home Delivery */
 | "home_delivery"
/** Masspay Card */
 | "masspay_card"
/** Mobile Wallet */
 | "mobile_wallet"
/** Paper Check */
 | "paper_check";
/** The different platform statuses a payout destination can be in. */
type PayoutDestinationPlatformStatuses = 
/** Hidden */
"hidden"
/** Visible */
 | "visible";
/** The different providers a payout destination can be. */
type PayoutDestinationProviders = 
/** Masspay */
"masspay";
/** The different statuses a payout destination can be in. */
type PayoutDestinationStatuses = 
/** Active */
"active"
/** Disabled */
 | "disabled";
/** The different destination types for a payout destination. */
type PayoutDestinationTypes = 
/** Instant */
"instant"
/** Regular */
 | "regular";
/** The different error codes a payout can be in. */
type PayoutErrorCodes = 
/** Account Closed */
"account_closed"
/** Account Does Not Exist */
 | "account_does_not_exist"
/** Account Information Invalid */
 | "account_information_invalid"
/** Amount Out Of Bounds */
 | "amount_out_of_bounds"
/** Attributes Not Validated */
 | "attributes_not_validated"
/** B2b Payments Prohibited */
 | "b2b_payments_prohibited"
/** Bank Statement Required */
 | "bank_statement_required"
/** Compliance Review */
 | "compliance_review"
/** Deposit Failed */
 | "deposit_failed"
/** Deposit Rejected */
 | "deposit_rejected"
/** Destination Unavailable */
 | "destination_unavailable"
/** Exceeded Account Limit */
 | "exceeded_account_limit"
/** Expired Quote */
 | "expired_quote"
/** Generic Payout Error */
 | "generic_payout_error"
/** Identification Number Invalid */
 | "identification_number_invalid"
/** Invalid Account Number */
 | "invalid_account_number"
/** Invalid Bank Code */
 | "invalid_bank_code"
/** Invalid Beneficiary */
 | "invalid_beneficiary"
/** Invalid Branch Number */
 | "invalid_branch_number"
/** Invalid Phone Number */
 | "invalid_phone_number"
/** Invalid Routing Number */
 | "invalid_routing_number"
/** Invalid Swift Code */
 | "invalid_swift_code"
/** Misc Error */
 | "misc_error"
/** Missing City And Country */
 | "missing_city_and_country"
/** Missing Phone Number */
 | "missing_phone_number"
/** Missing Remittance Info */
 | "missing_remittance_info"
/** Receiving Account Locked */
 | "receiving_account_locked"
/** Rejected By Compliance */
 | "rejected_by_compliance"
/** Source Token Insufficient Funds */
 | "source_token_insufficient_funds"
/** Ssn Invalid */
 | "ssn_invalid"
/** Wallet Screenshot Required */
 | "wallet_screenshot_required";
/** The interval at which a Connected Account is paid out */
type PayoutIntervals = "daily" | "manual" | "monthly" | "weekly";
/** The payout methods that can be configured for a company. */
type PayoutMethods = "coinbase_commerce" | "paypal" | "stripe";
/** The different statuses as payout object can be. */
type PayoutStatuses = 
/** Canceled */
"canceled"
/** Completed */
 | "completed"
/** Error */
 | "error"
/** Expired */
 | "expired"
/** Hold */
 | "hold"
/** Pending */
 | "pending"
/** Processing */
 | "processing"
/** Ready For Pickup */
 | "ready_for_pickup"
/** Scheduled */
 | "scheduled";
/** The different types of attributes that can be saved for a PayoutTokenAttribute. */
type PayoutTokenAttributeDataTypes = 
/** Address1 */
"Address1"
/** Bank Account Branch Number */
 | "BankAccountBranchNumber"
/** Bank Account Name */
 | "BankAccountName"
/** Bank Account Number */
 | "BankAccountNumber"
/** Bank Account Type */
 | "BankAccountType"
/** Bank City */
 | "BankCity"
/** Bank Name */
 | "BankName"
/** Bank Routing Number */
 | "BankRoutingNumber"
/** Bank State */
 | "BankState"
/** Bill Reference Number */
 | "BillReferenceNumber"
/** Birth Country */
 | "BirthCountry"
/** Card Expiration */
 | "CardExpiration"
/** Card Number */
 | "CardNumber"
/** Card Zip */
 | "CardZip"
/** City */
 | "City"
/** Country */
 | "Country"
/** Date Of Birth */
 | "DateOfBirth"
/** Employment Address */
 | "EmploymentAddress"
/** Employment Name */
 | "EmploymentName"
/** Employment Occupation */
 | "EmploymentOccupation"
/** Employment Phone */
 | "EmploymentPhone"
/** Employment Supervisor */
 | "EmploymentSupervisor"
/** Gender */
 | "Gender"
/** Guardian Consent */
 | "GuardianConsent"
/** Guardian Full Name */
 | "GuardianFullName"
/** Guardian Gov Id Number */
 | "GuardianGovIDNumber"
/** Guardian Gov Id Type */
 | "GuardianGovIDType"
/** Id Selfie Collection */
 | "IDSelfieCollection"
/** I Frame Payment Collection */
 | "IFramePaymentCollection"
/** Identification Expiration */
 | "IdentificationExpiration"
/** Identification Number */
 | "IdentificationNumber"
/** Identification Type */
 | "IdentificationType"
/** Maiden Name */
 | "MaidenName"
/** Phone Number */
 | "PhoneNumber"
/** Postal Code */
 | "PostalCode"
/** Relationship */
 | "Relationship"
/** Remittance Reason */
 | "RemittanceReason"
/** Swift */
 | "SWIFT"
/** Second Last Name */
 | "SecondLastName"
/** Social Security */
 | "SocialSecurity"
/** Source Of Funds */
 | "SourceOfFunds";
/** The different types of inputs for a payout token attribute. This is the type of form that will be submitted in the data. */
type PayoutTokenAttributeInputTypes = 
/** Date */
"date"
/** Options */
 | "options"
/** Text */
 | "text";
/** The type of information being submitted in the value field. */
type PayoutTokenAttributeValueTypes = "raw" | "vault_token";
/** The different providers a payout token can be. */
type PayoutTokenProviders = 
/** Masspay */
"masspay";
/** The different statuses a payout token can have. */
type PayoutTokenStatuses = 
/** Active */
"active"
/** Broken */
 | "broken"
/** Created */
 | "created";
/** Whether a payout is one-time or recurring */
type PayoutTypes = 
/** Flat Fee */
"flat_fee"
/** Percentage */
 | "percentage";
/** Statuses for paypal accounts */
type PaypalAccountStatuses = "broken" | "connected" | "disabled_by_whop" | "oauth_integration_not_found" | "payments_not_receivable" | "primary_email_not_confirmed";
/** The status of an entry for a perk. */
type PerkStatus = "completed" | "pending";
/** The type of direct link to generate */
type PlanDirectLink = "checkout" | "product_page";
/** Values to filter plans on */
interface PlanFilters {
    /** A specific access pass to filter the scope by. */
    accessPassId?: InputMaybe<Scalars["ID"]["input"]>;
    /** If true, it returns plans that have affiliates */
    affiliates?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** How to order the results. */
    direction?: InputMaybe<Direction>;
    /** What to order the results by. */
    order?: InputMaybe<PlanOrder>;
    /** If true, it returns plans that have member/passholder affiliates set to true */
    passholderAffiliate?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The text that is being searched. */
    query?: InputMaybe<Scalars["String"]["input"]>;
    /** If true, it returns raffles that have ended. */
    raffleEnded?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The release method to filter the scope by. */
    releaseMethod?: InputMaybe<ReleaseMethod>;
    /** The visibility to filter the scope by. */
    visibility?: InputMaybe<VisibilityFilter>;
}
/** The order to sort the results by. */
type PlanOrder = "active_memberships_count" | "affiliates" | "created_at" | "expires_at" | "internal_notes";
/** The type of plan that can be attached to an access pass */
type PlanTypes = 
/** One Time */
"one_time"
/** Renewal */
 | "renewal";
/** The ways a relation of Plans can be ordered */
type PlansOrder = "active_members_count" | "created_at" | "expires_at" | "id" | "internal_notes";
/** Which columns can be used to sort. */
type PlansSortableColumns = "active_members_count" | "active_memberships_count" | "cached_initial_price_due" | "cached_usd_income" | "created_at" | "id" | "stock";
/** Input type for creating a poll in a feed post */
interface PollInput {
    /** The options for the poll. Must have sequential IDs starting from 1 */
    options: Array<PollOptionInput>;
}
/** Input type for a single poll option */
interface PollOptionInput {
    /** Sequential ID for the poll option (starting from '1') */
    id: Scalars["String"]["input"];
    /** The text of the poll option */
    text: Scalars["String"]["input"];
}
/** The type of feed to fetch from */
type PostTypes = 
/** Dms */
"dms"
/** Dms Post */
 | "dms_post"
/** Forum Post */
 | "forum_post";
/** Autogenerated input type of ProcessEntities */
interface ProcessEntitiesInput {
    /** The ID of the app */
    appId: Scalars["ID"]["input"];
    /** The chat feed posts to process */
    chatFeeds?: InputMaybe<Array<ChatFeedInput>>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The DMs feed members to process */
    dmsFeedMembers?: InputMaybe<Array<DmsFeedMemberInput>>;
    /** The DMs feeds to process */
    dmsFeeds?: InputMaybe<Array<DmsFeedInput>>;
    /** The DMs posts to process */
    dmsPosts?: InputMaybe<Array<DmsPostInput>>;
    /** The livestream feeds to process */
    livestreamFeeds?: InputMaybe<Array<LivestreamFeedInput>>;
    /** The chat feed muted members to process */
    mutedUsers?: InputMaybe<Array<MutedUserInput>>;
    /** The reactions to process */
    reactions?: InputMaybe<Array<ReactionInput>>;
}
/** Types of product highlight */
type ProductHighlightTypes = "benefit" | "pricing_feature" | "qualification" | "who_this_is_for";
/** Image styles for product. */
type ProductImageStyles = "s48" | "s48fit" | "s64" | "s64fit" | "s80" | "s80fit" | "s128" | "s180" | "s250x125" | "s250x125fit" | "s440x220" | "s440x220fit" | "s500x250" | "s500x250fit" | "s512x288" | "s512x288fit" | "s600x400" | "s600x400fit" | "s1000x500" | "s1000x500fit" | "s1280x720" | "s1280x720fit" | "s1920x1080" | "s1920x1080fit";
/** The product_type of the ProductTaxCode */
type ProductTaxCodeProductTypes = "digital" | "physical" | "services";
/** Values to filter users on */
interface ProductUserFilters {
    /** How to order the results. */
    direction?: InputMaybe<Direction>;
    /** What to order the results by. */
    order?: InputMaybe<ProductUserOrder>;
    /** The text that is being searched. */
    query?: InputMaybe<Scalars["String"]["input"]>;
}
/** The order to sort the results by. */
type ProductUserOrder = "date_joined" | "last_seen_at" | "name" | "paid_out_by_company" | "time_spent_in_whop";
/** The different levels of visibility for resources */
type ProfileVisibilities = "hidden" | "visible";
/** Values to filter promo codes on */
interface PromoCodeFilters {
    /** How to order the results. */
    direction?: InputMaybe<Direction>;
    /** Filter whether to return active or expired (archived and inactive). */
    newStatus?: InputMaybe<PromoCodeNewStatus>;
    /** What to order the results by. */
    order?: InputMaybe<PromoCodeOrder>;
    /** The text that is being searched. */
    query?: InputMaybe<Scalars["String"]["input"]>;
    /** The state of promo code. */
    status?: InputMaybe<PromoCodeStatus>;
}
/** The new statuses to filter the results by. */
type PromoCodeNewStatus = "active" | "expired";
/** The order to sort the results by. */
type PromoCodeOrder = "code" | "created_at";
/** Statuses for promo codes */
type PromoCodeStatus = 
/** Active */
"active"
/** Archived */
 | "archived"
/** Inactive */
 | "inactive";
/** Which columns can be used to sort. */
type PromoCodesSortableColumns = "created_at" | "expiration_datetime" | "id";
/** The duration setting for the promo code */
type PromoDurations = 
/** Forever */
"forever"
/** Once */
 | "once"
/** Repeating */
 | "repeating";
/** The type of promo code used to discount a plan */
type PromoTypes = 
/** Flat Amount */
"flat_amount"
/** Percentage */
 | "percentage";
/** Autogenerated input type of PromoteAppBuildToProduction */
interface PromoteAppBuildToProductionInput {
    /** The ID of the app build to promote. */
    appBuildId: Scalars["ID"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
}
/** The order to sort the results by. */
type PublicAccessPassesOrder = "average_review_rating" | "average_time_spent_24_hours" | "created_at" | "global_affiliate_percentage" | "highest_bounties" | "id" | "last_24_hours_total_seconds" | "most_affiliate_earnings_24_hours" | "most_money_made_24_hours" | "most_reviews_7_days" | "most_reviews_24_hours" | "newest_arrivals" | "trending" | "trending_3_hours";
/** The order to sort the results by. */
type PublicBountiesOrder = "created_at" | "total_paid";
/** Input for a reaction */
interface ReactionInput {
    /** The ID of the feed this reaction belongs to */
    feedId: Scalars["ID"]["input"];
    /** The type of the feed this reaction belongs to */
    feedType: FeedTypes;
    /** The unique identifier for the reaction */
    id: Scalars["ID"]["input"];
    /** Whether the entity has been deleted */
    isDeleted?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The ID of the post this reaction belongs to */
    postId: Scalars["ID"]["input"];
    /** The type of the post (e.g., 'dms_post') */
    postType: PostTypes;
    /** The type of reaction (e.g., 'like', 'vote', 'view', 'emoji') */
    reactionType: ReactionTypes;
    /** The score of the reaction */
    score: Scalars["Int"]["input"];
    /** The value of the reaction (e.g., specific emoji) */
    value: Scalars["String"]["input"];
}
/** The type of reactions */
type ReactionTypes = 
/** Emoji */
"emoji"
/** Like */
 | "like"
/** View */
 | "view"
/** Vote */
 | "vote";
/** The status of the abuse report */
type ReceiptFeeTypes = 
/** Other Fee */
"other_fee"
/** Processing Fee */
 | "processing_fee"
/** Whop Fee */
 | "whop_fee";
/** The payment processor of a receipt */
type ReceiptPaymentProcessor = 
/** Apple */
"apple"
/** Coinbase */
 | "coinbase"
/** Crypto */
 | "crypto"
/** Free */
 | "free"
/** Multi Psp */
 | "multi_psp"
/** Nft */
 | "nft"
/** Paypal */
 | "paypal"
/** Platform Balance */
 | "platform_balance"
/** Sezzle */
 | "sezzle"
/** Splitit */
 | "splitit"
/** Stripe */
 | "stripe";
/** The status of a receipt */
type ReceiptStatus = 
/** Draft */
"draft"
/** Open */
 | "open"
/** Paid */
 | "paid"
/** Pending */
 | "pending"
/** Uncollectible */
 | "uncollectible"
/** Unresolved */
 | "unresolved"
/** Void */
 | "void";
/** The status of a receipt */
type ReceiptStatusV2 = "failed" | "partially_refunded" | "past_due" | "refunded" | "succeeded";
/**
 * The type of tax inclusivity applied to the receipt, for determining whether the
 * tax is included in the final price, or paid on top.
 */
type ReceiptTaxBehaviors = 
/** Exclusive */
"exclusive"
/** Inclusive */
 | "inclusive"
/** Unspecified */
 | "unspecified";
/** Values to filter receipts on */
interface ReceiptV2Filters {
    /** A specific access pass. */
    accessPassIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The billing reason for the payment */
    billingReasons?: InputMaybe<Array<BillingReasons>>;
    /** The currency of the payment. */
    currencies?: InputMaybe<Array<Currencies>>;
    /** Which way to order the results. */
    direction?: InputMaybe<Direction>;
    /** To get all memberships created before this certain time. */
    endDate?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** How to order the results. */
    order?: InputMaybe<ReceiptV2Order>;
    /** How the payment was made (method). */
    paymentMethods?: InputMaybe<Array<PaymentMethods>>;
    /** A specific plan. */
    planIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The text that is being searched. */
    query?: InputMaybe<Scalars["String"]["input"]>;
    /** To get all memberships created after this certain time. */
    startDate?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The state of the payment. */
    statuses?: InputMaybe<Array<ReceiptStatusV2>>;
}
/** The order to sort the results by. */
type ReceiptV2Order = "created_at" | "final_amount" | "paid_at";
/** Which columns can be used to sort. */
type ReceiptsSortableColumns = "created_at" | "final_amount" | "id" | "paid_at" | "presented_final_amount";
/** The different statuses for a Refund object */
type RefundStatuses = "canceled" | "failed" | "pending" | "requires_action" | "succeeded";
/** The methods of how a plan can be released (including raffles and waitlists). */
type ReleaseMethod = 
/** Buy Now */
"buy_now"
/** Raffle */
 | "raffle"
/** Waitlist */
 | "waitlist";
interface ReleaseMethodSettingsInput {
    /** When the raffle will expire */
    expiresAt?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The maximum number of entries allowed for the raffle or waitlist */
    maxEntries?: InputMaybe<Scalars["Int"]["input"]>;
    /** If this is enabled, the raffle will get entries based off of how many NFTs the user owns */
    nftWeightedEntries?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** When the raffle will start */
    startsAt?: InputMaybe<Scalars["Timestamp"]["input"]>;
}
/** The types of reports that can be generated. */
type ReportTypes = 
/** Bookmark */
"bookmark"
/** Downvote */
 | "downvote"
/** Share */
 | "share"
/** Upvote */
 | "upvote";
/** The different types of actions for a resolution event */
type ResolutionActions = 
/** Accepted */
"accepted"
/** Appealed */
 | "appealed"
/** Created */
 | "created"
/** Denied */
 | "denied"
/** Dispute Customer Won */
 | "dispute_customer_won"
/** Dispute Merchant Won */
 | "dispute_merchant_won"
/** Dispute Opened */
 | "dispute_opened"
/** Escalated */
 | "escalated"
/** Requested More Info */
 | "requested_more_info"
/** Responded */
 | "responded"
/** Withdrew */
 | "withdrew";
/** The types of responses a customer can make to a resolution. */
type ResolutionCustomerResponses = "appeal" | "respond" | "withdraw";
/** Filters for the resolutions */
interface ResolutionFilters {
    /** A specific access pass. */
    accessPassIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** Filter by their case state */
    caseState?: InputMaybe<CaseStates>;
    /** The direction to filter */
    direction?: InputMaybe<Direction>;
    /** Filter by the end date */
    endDate?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The order to filter */
    order?: InputMaybe<ResolutionOrder>;
    /** How the payment was made (method). */
    paymentMethods?: InputMaybe<Array<PaymentMethods>>;
    /** The text to search by */
    query?: InputMaybe<Scalars["String"]["input"]>;
    /** Filter by the start date */
    startDate?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** Filter by their status */
    statuses?: InputMaybe<Array<ResolutionStatuses>>;
}
/** A reason why a specific receipt cannot have a resolution created. */
type ResolutionIneligibilityReason = "already_opened" | "already_refunded" | "free" | "not_paid" | "out_of_date" | "unsupported_payment_processor";
/** The different types of issues a resolution can be */
type ResolutionIssueTypes = 
/** Forgot To Cancel */
"forgot_to_cancel"
/** Item Not Received */
 | "item_not_received"
/** Product Unacceptable */
 | "product_unacceptable"
/** Significantly Not As Described */
 | "significantly_not_as_described"
/** Unauthorized Transaction */
 | "unauthorized_transaction";
/** The types of responses a merchant can make to a resolution. */
type ResolutionMerchantResponses = "accept" | "appeal" | "deny" | "request_more_info" | "respond";
/** Possible values to filter user on */
type ResolutionOrder = "due_date" | "id";
/** The types of responses the platform can make to a resolution. */
type ResolutionPlatformResponses = "merchant_refund" | "merchant_wins" | "platform_refund" | "request_buyer_info" | "request_merchant_info";
/** The different types of reporters for a resolution event */
type ResolutionReporters = 
/** Customer */
"customer"
/** Merchant */
 | "merchant"
/** Platform */
 | "platform"
/** System */
 | "system";
/** The statuses a resolution object can have */
type ResolutionStatuses = 
/** Customer Info Needed */
"customer_info_needed"
/** Customer Response Needed */
 | "customer_response_needed"
/** Customer Withdrew */
 | "customer_withdrew"
/** Customer Won */
 | "customer_won"
/** Merchant Info Needed */
 | "merchant_info_needed"
/** Merchant Response Needed */
 | "merchant_response_needed"
/** Merchant Won */
 | "merchant_won"
/** Under Platform Review */
 | "under_platform_review";
/** Which columns can be used to sort. */
type ResolutionsSortableColumns = "created_at" | "due_date" | "id";
/** The different reason codes. */
type RestrictionSetReasonCodes = "blocked_country";
/** Autogenerated input type of RetryPaymentMyMembership */
interface RetryPaymentMyMembershipInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the company that this membership is on behalf of. */
    companyBuyerId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The ID of the membership to retry the payment for. */
    membershipId: Scalars["ID"]["input"];
}
/** The status of a review report */
type ReviewReportStatus = 
/** Accepted */
"accepted"
/** Pending */
 | "pending"
/** Rejected */
 | "rejected";
/** The statuses a review can have */
type ReviewStatus = 
/** Pending */
"pending"
/** Published */
 | "published"
/** Removed */
 | "removed";
/** Which columns can be used to sort. */
type ReviewsSortableColumns = "created_at" | "id" | "stars";
/** The available reward units to choose from. */
type RewardUnits = 
/** Per Submission */
"per_submission"
/** Per View */
 | "per_view";
/** The status of an RFI */
type RfiStatuses = 
/** Ignored */
"ignored"
/** Pending Provider */
 | "pending_provider"
/** Resolved */
 | "resolved"
/** Waiting For Platform */
 | "waiting_for_platform"
/** Waiting For User */
 | "waiting_for_user";
/** The level of security an account has */
type SecurityLevels = "none" | "two_factor";
/** Autogenerated input type of SendMessage */
interface SendMessageInput {
    /** The attachments for this message, such as videos or images. */
    attachments?: InputMaybe<Array<AttachmentInput>>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the chat experience to send the message in. */
    experienceId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The ID of the feed to send to. */
    feedId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The type of the feed to send to. */
    feedType?: InputMaybe<FeedTypes>;
    /** The message to send. */
    message: Scalars["String"]["input"];
    /** The user to send the direct message to. */
    toUserId?: InputMaybe<Scalars["ID"]["input"]>;
}
/** Autogenerated input type of SendNotification */
interface SendNotificationInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the company team to send the notification to */
    companyTeamId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The content of the notification */
    content: Scalars["String"]["input"];
    /** The ID of the experience to send the notification to */
    experienceId?: InputMaybe<Scalars["ID"]["input"]>;
    /** An external ID for the notification */
    externalId?: InputMaybe<Scalars["String"]["input"]>;
    /** Whether the notification is a mention */
    isMention?: InputMaybe<Scalars["Boolean"]["input"]>;
    /**
     * The link to open when the notification is clicked. If you just want to append
     * a rest path use the restPath parameter. You can link to any url here.
     */
    link?: InputMaybe<Scalars["String"]["input"]>;
    /**
     * The rest path to append to the generated deep link that opens your app. Use
     * [restPath] in your app path in the dashboard to read this parameter.
     */
    restPath?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the user sending the notification */
    senderUserId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The subtitle of the notification */
    subtitle?: InputMaybe<Scalars["String"]["input"]>;
    /** The title of the notification */
    title: Scalars["String"]["input"];
    /** The IDs of the users to send the notification to. */
    userIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
}
/** The status of a simple notification preference */
type SimpleNotificationPreferenceStatus = 
/** Everything */
"everything"
/** Nothing */
 | "nothing"
/** Only Mentions */
 | "only_mentions";
/** The different websites you can have social links for */
type SocialLinkWebsites = "facebook" | "instagram" | "linkedin" | "tiktok" | "twitch" | "website" | "x" | "youtube";
/** The origin of the specific fee */
type SpecificFeeOrigins = 
/** Affiliate Fee */
"affiliate_fee"
/** Apple Processing Fee */
 | "apple_processing_fee"
/** Billing Percentage Fee */
 | "billing_percentage_fee"
/** Buyer Fee */
 | "buyer_fee"
/** Cross Border Percentage Fee */
 | "cross_border_percentage_fee"
/** Crypto Fee */
 | "crypto_fee"
/** Dispute Alert Fee */
 | "dispute_alert_fee"
/** Dispute Fee */
 | "dispute_fee"
/** Fx Percentage Fee */
 | "fx_percentage_fee"
/** Marketplace Affiliate Fee */
 | "marketplace_affiliate_fee"
/** Orchestration Percentage Fee */
 | "orchestration_percentage_fee"
/** Payment Processing Fixed Fee */
 | "payment_processing_fixed_fee"
/** Payment Processing Percentage Fee */
 | "payment_processing_percentage_fee"
/** Paypal Fee */
 | "paypal_fee"
/** Platform Balance Processing Fee */
 | "platform_balance_processing_fee"
/** Sales Tax Remittance */
 | "sales_tax_remittance"
/** Sales Tax Remittance Reversal */
 | "sales_tax_remittance_reversal"
/** Sezzle Processing Fee */
 | "sezzle_processing_fee"
/** Splitit Processing Fee */
 | "splitit_processing_fee"
/** Stripe Billing Fee */
 | "stripe_billing_fee"
/** Stripe Domestic Processing Fee */
 | "stripe_domestic_processing_fee"
/** Stripe Fixed Processing Fee */
 | "stripe_fixed_processing_fee"
/** Stripe International Processing Fee */
 | "stripe_international_processing_fee"
/** Stripe Payout Fee */
 | "stripe_payout_fee"
/** Stripe Radar Fee */
 | "stripe_radar_fee"
/** Stripe Sales Tax Fee */
 | "stripe_sales_tax_fee"
/** Stripe Standard Processing Fee */
 | "stripe_standard_processing_fee"
/** Three Ds Fixed Fee */
 | "three_ds_fixed_fee"
/** Whop Processing Fee */
 | "whop_processing_fee";
/** The configuration for receipts stats query. */
interface StatsConfigInput {
    /** The access pass ids to filter the data by. */
    accessPassIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The bot ids to filter the data by. */
    botIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The currency to use for the chart. */
    currency?: InputMaybe<Currencies>;
    /** Whether or not to filter data by direct to consumer or marketplace */
    directToConsumer?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The feed ids to filter the data by. */
    feedIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The start date to take into account. */
    from: Scalars["Timestamp"]["input"];
    /** The interval to group the data by. */
    interval?: InputMaybe<ChartIntervals>;
    /** The plan ids to filter the data by. */
    planIds?: InputMaybe<Array<Scalars["ID"]["input"]>>;
    /** The time zone used for start of day calculations. */
    timeZone?: InputMaybe<Scalars["String"]["input"]>;
    /** The end date to take into account. */
    to: Scalars["Timestamp"]["input"];
    /** The week mode to group the data by. For details, look at https://clickhouse.com/docs/en/sql-reference/functions/date-time-functions#toweek */
    weekMode?: InputMaybe<Scalars["Int"]["input"]>;
}
/** Statuses for resources */
type Status = "active" | "archived" | "deleted";
/** The available bounty statuses to choose from. */
type Statuses = 
/** Archived */
"archived"
/** Published */
 | "published";
/** Statuses for stripe accounts */
type StripeAccountStatuses = "connected" | "disabled_by_whop" | "needs_completion" | "needs_reauthorization" | "reconnect_api_keys" | "rejected" | "requirements_not_met" | "under_review";
/** Types of Stripe accounts */
type StripeAccountTypes = "connect" | "custom" | "express" | "personal" | "standard";
/** The status that an external payout account can have */
type StripeExternalAccountStatuses = 
/** Errored */
"errored"
/** New */
 | "new"
/** Validated */
 | "validated"
/** Verification Failed */
 | "verification_failed"
/** Verified */
 | "verified";
/** The methods that a StripePayout can have */
type StripePayoutMethods = 
/** Instant */
"instant"
/** Standard */
 | "standard";
/** The payout types that a StripePayout can have */
type StripePayoutPayoutTypes = 
/** Bank Account */
"bank_account"
/** Card */
 | "card";
/** The status that a StripePayout can have */
type StripePayoutStatuses = 
/** Canceled */
"canceled"
/** Failed */
 | "failed"
/** In Transit */
 | "in_transit"
/** Paid */
 | "paid"
/** Pending */
 | "pending";
/** The status that a StripePayout's trace can have */
type StripePayoutTraceStatuses = 
/** Pending */
"pending"
/** Supported */
 | "supported"
/** Unsupported */
 | "unsupported";
/** Whether or not the tax is included in a plan's price (or if it hasn't been set up) */
type TaxTypes = 
/** Tax is exclusive in the price of the plan. If its $20 before tax, its $25 after tax. The user is paying tax */
"exclusive"
/** Tax is inclusive in the price of the plan. If its $20, its $20. The company already factored in tax and is paying tax */
 | "inclusive"
/** The company hasn't set up tax yet */
 | "unspecified";
/** Autogenerated input type of TerminateMyMembership */
interface TerminateMyMembershipInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the company that this membership is on behalf of. */
    companyBuyerId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The internal ID of the membership to terminate. */
    id: Scalars["ID"]["input"];
}
/** Autogenerated input type of TestWebhookV2 */
interface TestWebhookV2Input {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The event to test the webhook for. */
    event: WebhookEvent;
    /** The ID of the webhook to test. */
    id: Scalars["ID"]["input"];
}
/** Autogenerated input type of ToggleCancelMyMembership */
interface ToggleCancelMyMembershipInput {
    /** A multiple choice selection for why the user canceled. */
    cancelOption?: InputMaybe<CancelOptions>;
    /** The custom input from the user for canceling the membership. */
    cancelationReason?: InputMaybe<Scalars["String"]["input"]>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the company that this membership is on behalf of. */
    companyBuyerId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The ID of the membership to cancel at the end of the period. */
    membershipId: Scalars["ID"]["input"];
}
/** The destination of the custom link */
type TrackingLinkDestination = 
/** Access Pass Page */
"access_pass_page"
/** Bot Page */
 | "bot_page"
/** Checkout Page */
 | "checkout_page";
/** Which columns can be used to sort. */
type TrackingLinksSortableColumns = "clicks" | "conversion_rate" | "converted_users" | "created_at" | "id" | "revenue_generated";
/** The different types for a tracking pixel */
type TrackingPixelTypes = 
/** Hubspot Pixel */
"hubspot_pixel_id"
/** X Checkout Initiated Event */
 | "x_checkout_initiated_event"
/** X Payment Method Event */
 | "x_payment_method_event"
/** X Purchase Event */
 | "x_purchase_event";
/** Autogenerated input type of TransferFunds */
interface TransferFundsInput {
    /** The amount to withdraw */
    amount: Scalars["Float"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The currency that is being withdrawn. */
    currency: Currencies;
    /** The ID of the destination (either a User tag, Bot tag, or LedgerAccount tag) */
    destinationId: Scalars["ID"]["input"];
    /** The feed identifier to notify of the transfer. */
    feedId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The feed type to notify of the transfer. */
    feedType?: InputMaybe<FeedTypes>;
    /** A unique key to ensure idempotence. Use a UUID or similar. */
    idempotenceKey: Scalars["String"]["input"];
    /** The ledger account id to transfer from. */
    ledgerAccountId: Scalars["ID"]["input"];
    /** Notes for the transfer. Maximum of 50 characters. */
    notes?: InputMaybe<Scalars["String"]["input"]>;
    /** The reason for the transfer. */
    reason?: InputMaybe<CreditTransactionTransferReasons>;
    /** The fee that the client thinks it is being charged for the transfer. Used to verify the fee. */
    transferFee?: InputMaybe<Scalars["Float"]["input"]>;
}
/** Autogenerated input type of TransferLinkMyMembership */
interface TransferLinkMyMembershipInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the company that this membership is on behalf of. */
    companyBuyerId?: InputMaybe<Scalars["ID"]["input"]>;
    /** This is the ID of the membership you want to create a transfer link for. */
    id: Scalars["ID"]["input"];
}
/** Autogenerated input type of UnassignProductionAppBuild */
interface UnassignProductionAppBuildInput {
    /** The ID of the app to unassign the production build from. */
    appId: Scalars["ID"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** What platform should be unassigned */
    platform: AppBuildPlatforms;
}
/** Autogenerated input type of UnbanUser */
interface UnbanUserInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the user to unban */
    userId: Scalars["ID"]["input"];
}
/** The types of universal post feeds that you can retrieve */
type UniversalPostFeedTypes = "access_pass" | "discover" | "home" | "recent_content_reward_submissions" | "user_profile";
/** Autogenerated input type of UpdateAccessPass */
interface UpdateAccessPassInput {
    /** A banner image for the access pass in png, jpeg format */
    bannerImage?: InputMaybe<AttachmentInput>;
    /** The business type of the access pass. */
    businessType?: InputMaybe<BusinessTypes>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The creator pitch for the access pass. */
    creatorPitch?: InputMaybe<Scalars["String"]["input"]>;
    /** The custom call to action for the access pass. */
    customCta?: InputMaybe<CustomCtas>;
    /** The custom call to action URL for the access pass. */
    customCtaUrl?: InputMaybe<Scalars["String"]["input"]>;
    /**
     * The custom statement descriptor for the access pass i.e. WHOP*SPORTS, must be
     * between 5 and 22 characters, contain at least one letter, and not contain any
     * of the following characters: <, >, \, ', "
     */
    customStatementDescriptor?: InputMaybe<Scalars["String"]["input"]>;
    /** The percentage of the revenue that goes to the global affiliate program. */
    globalAffiliatePercentage?: InputMaybe<Scalars["Float"]["input"]>;
    /** The status of the global affiliate program for this access pass. */
    globalAffiliateStatus?: InputMaybe<GlobalAffiliateStatuses>;
    /** The headline of the access pass. */
    headline?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID (tag) of the access pass */
    id: Scalars["ID"]["input"];
    /** The industry type of the access pass. */
    industryType?: InputMaybe<IndustryTypes>;
    /** The logo for the access pass in png, jpeg, or gif format */
    logo?: InputMaybe<AttachmentInput>;
    /** The percentage of the revenue that goes to the member affiliate program. */
    memberAffiliatePercentage?: InputMaybe<Scalars["Float"]["input"]>;
    /** The status of the member affiliate program for this access pass. */
    memberAffiliateStatus?: InputMaybe<GlobalAffiliateStatuses>;
    /** The ID of the product tax code to apply to this access pass. */
    productTaxCodeId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The URL to redirect the customer to after a purchase. */
    redirectPurchaseUrl?: InputMaybe<Scalars["String"]["input"]>;
    /** The route of the access pass. */
    route?: InputMaybe<Scalars["String"]["input"]>;
    /** A short description of what the access pass offers or does. Must be 150 chars or less. */
    shortenedDescription?: InputMaybe<Scalars["String"]["input"]>;
    /** Whether or not to show the member count on the access pass. */
    showMemberCount?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** Whether or not to show the offers on the access pass. */
    showOffers?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** Whether or not to show reviews on the access pass. */
    showReviewsDtc?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The title of the access pass. */
    title?: InputMaybe<Scalars["String"]["input"]>;
    /** This access pass will/will not be displayed publicly. */
    visibility?: InputMaybe<Visibility>;
}
/** Autogenerated input type of UpdateAffiliate */
interface UpdateAffiliateInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The amount the affiliate will earn (either amount or percent 1-100) */
    fee?: InputMaybe<Scalars["StringFloat"]["input"]>;
    /** The ID (tag) of the affiliate. */
    id: Scalars["ID"]["input"];
    /** Whether or not the affiliate will only get one payout or it will be recurring. */
    onlyOnePayout?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The type of payout. */
    payoutType?: InputMaybe<PayoutTypes>;
    /** The IDs of the plans that the affiliate can refer. */
    planId: Scalars["String"]["input"];
    /** Sets the affiliate as active/inactive. */
    status?: InputMaybe<Status>;
}
/** Autogenerated input type of UpdateAgentUser */
interface UpdateAgentUserInput {
    /** The ID of the app to create the agent user for. */
    appId: Scalars["ID"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The name of the agent user. */
    name?: InputMaybe<Scalars["String"]["input"]>;
    /** An image for the user for their avatar. */
    profilePhoto?: InputMaybe<Scalars["File"]["input"]>;
    /** The ID of the user to update. */
    userId: Scalars["ID"]["input"];
    /** The username of the agent user. */
    username?: InputMaybe<Scalars["String"]["input"]>;
}
/** Autogenerated input type of UpdateApp */
interface UpdateAppInput {
    /** The description of the app for the app store in-depth app view. */
    appStoreDescription?: InputMaybe<Scalars["String"]["input"]>;
    /** The base developer url of the app */
    baseDevUrl?: InputMaybe<Scalars["UrlString"]["input"]>;
    /** The base preview url of the app */
    basePreviewUrl?: InputMaybe<Scalars["UrlString"]["input"]>;
    /** The base production url of the app */
    baseUrl?: InputMaybe<Scalars["UrlString"]["input"]>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The path for the dashboard view of the app */
    dashboardPath?: InputMaybe<Scalars["String"]["input"]>;
    /** The default agent user ID for the app */
    defaultAgentUserId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The description of the app */
    description?: InputMaybe<Scalars["String"]["input"]>;
    /** The path for the discover view of the app */
    discoverPath?: InputMaybe<Scalars["String"]["input"]>;
    /** The path for the hub view of the app */
    experiencePath?: InputMaybe<Scalars["String"]["input"]>;
    /** If the apps experience's should force showing the pre-checkout iframe, and not rely on app connections. */
    forceCheckoutIframe?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The hub call to action text of the app */
    hubCta?: InputMaybe<Scalars["String"]["input"]>;
    /** The icon for the app */
    icon?: InputMaybe<AttachmentInput>;
    /** The ID of the app */
    id: Scalars["ID"]["input"];
    /**
     * The image for the app
     * @deprecated Use icon instead
     */
    image?: InputMaybe<Scalars["File"]["input"]>;
    /** The name of the app */
    name?: InputMaybe<Scalars["String"]["input"]>;
    /** The product page text of the app */
    productPage?: InputMaybe<Scalars["String"]["input"]>;
    /** The scopes that the app will request off of users when a user installs the app. */
    requiredScopes?: InputMaybe<Array<AppValidScopes>>;
    /**
     * If the status is live, the app is visible on Whop discovery. In order to be
     * live, you need to set the name, icon, and description. Being unlisted or
     * hidden means it's not visible on Whop but you can still install the app via
     * direct link. To remove the app from whop discovery, you should set the status to unlisted.
     */
    status?: InputMaybe<AppStatuses>;
}
/** Autogenerated input type of UpdateAppPermissionRequirements */
interface UpdateAppPermissionRequirementsInput {
    /** The ID of the app the permission requirements are being updated for */
    appId: Scalars["ID"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The permissions that the app will request off of users when a user installs the app. */
    requestedPermissions: Array<AppRequestedPermissionInput>;
}
/** Autogenerated input type of UpdateChapter */
interface UpdateChapterInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the chapter to update */
    id: Scalars["ID"]["input"];
    /** The title of the chapter */
    title: Scalars["String"]["input"];
}
/** Autogenerated input type of UpdateChapterOrder */
interface UpdateChapterOrderInput {
    /** The ID of the chapter to place this chapter below */
    belowChapterId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The ID of the chapter to reorder */
    chapterId: Scalars["ID"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
}
/** Autogenerated input type of UpdateLesson */
interface UpdateLessonInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The content of the lesson */
    content?: InputMaybe<Scalars["String"]["input"]>;
    /** Days from course start until unlock */
    daysFromCourseStartUntilUnlock?: InputMaybe<Scalars["Int"]["input"]>;
    /** The ID of the lesson to update */
    id: Scalars["ID"]["input"];
    /** The type of the lesson */
    lessonType?: InputMaybe<LessonTypes>;
    /** The ID of the Mux asset to attach to this lesson */
    muxAssetId?: InputMaybe<Scalars["String"]["input"]>;
    /** The title of the lesson */
    title?: InputMaybe<Scalars["String"]["input"]>;
    /** Determines how / whether this lesson is visible to users. */
    visibility?: InputMaybe<LessonVisibilities>;
}
/** Autogenerated input type of UpdateLessonOrder */
interface UpdateLessonOrderInput {
    /** The ID of the lesson to place this lesson below */
    belowLessonId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The ID of the chapter to move the lesson to */
    chapterId: Scalars["ID"]["input"];
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the lesson to reorder */
    lessonId: Scalars["ID"]["input"];
}
/** Autogenerated input type of UpdateMembership */
interface UpdateMembershipInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The number of trial days to add to the membership to extend it. */
    freeDays?: InputMaybe<Scalars["Int"]["input"]>;
    /** The ID (tag) of the membership. */
    id: Scalars["ID"]["input"];
    /** The action being applied to the specific membership. */
    membershipAction: MembershipActions;
}
/** Autogenerated input type of UpdateWebhook */
interface UpdateWebhookInput {
    /** The API version for this webhook */
    apiVersion?: InputMaybe<ApiVersion>;
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** Whether or not the webhook is enabled. */
    enabled?: InputMaybe<Scalars["Boolean"]["input"]>;
    /** The events to send the webhook for. */
    events?: InputMaybe<Array<WebhookEvent>>;
    /** The ID of the Webhook to update */
    id: Scalars["ID"]["input"];
    /** The URL to send the webhook to. */
    url?: InputMaybe<Scalars["UrlString"]["input"]>;
}
interface UploadPartInput {
    /** The ETag of the part */
    etag: Scalars["String"]["input"];
    /** The part number of the part */
    partNumber: Scalars["Int"]["input"];
}
interface UpsellPlanInput {
    /** The base currency of the upsell. */
    baseCurrency?: InputMaybe<Currencies>;
    /** An array of custom field objects. */
    customFields?: InputMaybe<Array<CustomFieldInput>>;
    /** The interval at which the plan charges (expiration plans). */
    expirationDays?: InputMaybe<Scalars["Int"]["input"]>;
    /** The price of the upsell. */
    initialPrice?: InputMaybe<Scalars["Float"]["input"]>;
    /** The method of release for the upsell. */
    releaseMethod?: InputMaybe<ReleaseMethod>;
}
/** The different types of upsells an experience can have. */
type UpsellTypes = 
/** After Checkout */
"after_checkout"
/** Before Checkout */
 | "before_checkout"
/** Only In Whop */
 | "only_in_whop";
/** Filters for the user affiliate referral logs search */
interface UserAffiliateReferralLogFilters {
    /** Which direction the order should be in. */
    direction?: InputMaybe<Direction>;
    /** How you want to order the results. */
    order?: InputMaybe<UserAffiliateReferralLogOrder>;
    /** What to search by: whop username, access pass name, or bot title */
    query?: InputMaybe<Scalars["String"]["input"]>;
}
/** The order to sort the logs by */
type UserAffiliateReferralLogOrder = "id";
/** The configuration for a chart. */
interface UserChartConfigInput {
    /** The currency to use for the chart. */
    currency?: InputMaybe<Currencies>;
    /** The start date to take into account. */
    from: Scalars["Timestamp"]["input"];
    /** The interval to group the data by. */
    interval?: InputMaybe<ChartIntervals>;
    /** The time zone used for start of day calculations. */
    timeZone?: InputMaybe<Scalars["String"]["input"]>;
    /** The end date to take into account. */
    to: Scalars["Timestamp"]["input"];
    /** The week mode to group the data by. For details, look at https://clickhouse.com/docs/en/sql-reference/functions/date-time-functions#toweek */
    weekMode?: InputMaybe<Scalars["Int"]["input"]>;
}
/** Values to filter content rewards submissions on */
interface UserContentRewardsSubmissionsFilters {
    /** The campaign ID to filter by */
    campaignId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The direction to order by */
    direction?: InputMaybe<Direction>;
    /** The experience ID to filter by */
    experienceId?: InputMaybe<Scalars["ID"]["input"]>;
    /** The order to sort the results by */
    order?: InputMaybe<UserContentRewardsSubmissionsOrder>;
    /** The status of the submissions */
    status?: InputMaybe<ContentRewardsSubmissionStatus>;
}
/** The ordering options for content rewards submissions */
type UserContentRewardsSubmissionsOrder = "amount_paid_out" | "created_at" | "expires_at" | "total_view_count";
/** The channel of the user notification preference */
type UserNotificationPreferenceChannel = 
/** In App */
"in_app"
/** Mobile */
 | "mobile";
/** The steps a user can follow to complete onboarding */
type UserOnboardingStepsTypes = "add_birthday" | "add_email" | "add_name" | "add_phone" | "add_profile_picture" | "add_username" | "download_mobile_app" | "join_a_whop" | "select_interests" | "verify_email" | "verify_phone";
/** Values to filter user receipts on */
interface UserReceiptFilters {
    /** How to order the results. */
    direction?: InputMaybe<Direction>;
    /** What to order the results by. */
    order?: InputMaybe<UserReceiptOrder>;
    /** The text that is being searched. */
    query?: InputMaybe<Scalars["String"]["input"]>;
    /** Filter receipts by 'free', 'paid', or 'all'. */
    type?: InputMaybe<UserReceiptPaidTypeFilter>;
}
/** The order to sort the results by. */
type UserReceiptOrder = "paid_at";
/** The filter to apply to the results. */
type UserReceiptPaidTypeFilter = "all" | "free" | "paid";
/** The different websites you can have social links for */
type UserSocialLinkWebsites = "facebook" | "instagram" | "linkedin" | "tiktok" | "twitch" | "website" | "x" | "youtube";
/** The type of a user */
type UserTypes = 
/** Agent */
"agent"
/** Human */
 | "human"
/** System */
 | "system";
/** The order to sort the results by. */
type ValidMembershipsOrder = "expires_at" | "id" | "ordering_status";
/** A vaulting method for a payment token. */
type VaultMethods = 
/** Paypal Wallet */
"paypal_wallet"
/** Venmo Wallet */
 | "venmo_wallet";
/** The different providers a vault token can be. */
type VaultTokenProviders = 
/** Basis Theory */
"basis_theory";
/** An error code for a verification attempt. */
type VerificationErrorCodes = 
/** Abandoned */
"abandoned"
/** Consent Declined */
 | "consent_declined"
/** Country Not Supported */
 | "country_not_supported"
/** Device Not Supported */
 | "device_not_supported"
/** Document Expired */
 | "document_expired"
/** Document Type Not Supported */
 | "document_type_not_supported"
/** Document Unverified Other */
 | "document_unverified_other"
/** Email Unverified Other */
 | "email_unverified_other"
/** Email Verification Declined */
 | "email_verification_declined"
/** Id Number Insufficient Document Data */
 | "id_number_insufficient_document_data"
/** Id Number Mismatch */
 | "id_number_mismatch"
/** Id Number Unverified Other */
 | "id_number_unverified_other"
/** Phone Unverified Other */
 | "phone_unverified_other"
/** Phone Verification Declined */
 | "phone_verification_declined"
/** Selfie Document Missing Photo */
 | "selfie_document_missing_photo"
/** Selfie Face Mismatch */
 | "selfie_face_mismatch"
/** Selfie Manipulated */
 | "selfie_manipulated"
/** Selfie Unverified Other */
 | "selfie_unverified_other"
/** Under Supported Age */
 | "under_supported_age";
/** The different providers a payout account can be. */
type VerificationProviders = 
/** Stripe */
"stripe"
/** Veriff */
 | "veriff";
/** A status for a verification. */
type VerificationStatuses = 
/** Abandoned */
"abandoned"
/** Approved */
 | "approved"
/** Canceled */
 | "canceled"
/** Created */
 | "created"
/** Declined */
 | "declined"
/** Expired */
 | "expired"
/** Processing */
 | "processing"
/** Requires Input */
 | "requires_input"
/** Resubmission Requested */
 | "resubmission_requested"
/** Review */
 | "review"
/** Started */
 | "started"
/** Submitted */
 | "submitted"
/** Verified */
 | "verified";
/** The status of a bots Whop Verified. */
type VerifiedStatuses = "accepted" | "applied" | "rejected";
/** The types of version events that are possible. */
type VersionEventTypes = "create" | "destroy" | "update";
/** Filters for the version search */
interface VersionFilters {
    /** The direction to filter the audit logs */
    direction?: InputMaybe<Direction>;
    /** To get all Audit Logs created before this certain time. */
    endDate?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The event type to filter by. */
    eventType?: InputMaybe<Array<VersionEventTypes>>;
    /** The object type to filter by. */
    objectType?: InputMaybe<Array<VersionObjects>>;
    /** What to order the results by. */
    order?: InputMaybe<VersionOrder>;
    /** The text that is being searched. Searches the version's identifier, which is usually a name or ID related to the object. */
    query?: InputMaybe<Scalars["String"]["input"]>;
    /** To get all Audit Logs created after this certain time. */
    startDate?: InputMaybe<Scalars["Timestamp"]["input"]>;
    /** The ID of the user who triggered this audit log */
    userId?: InputMaybe<Array<Scalars["String"]["input"]>>;
}
/** The types of objects that have versions available for them. */
type VersionObjects = "access_pass" | "affiliate" | "authorized_user" | "bot" | "discord_server" | "experience" | "plan" | "promo_code" | "stripe_account";
/** The order to sort the memberships by */
type VersionOrder = "event" | "id";
/** Visibility of a resource */
type Visibility = 
/** Archived */
"archived"
/** Hidden */
 | "hidden"
/** Quick Link */
 | "quick_link"
/** Visible */
 | "visible";
/** The different levels of visibility for resources */
type VisibilityFilter = "all"
/** Archived */
 | "archived"
/** Hidden */
 | "hidden" | "not_archived" | "not_quick_link"
/** Quick Link */
 | "quick_link"
/** Visible */
 | "visible";
/** Autogenerated input type of VoidInvoice */
interface VoidInvoiceInput {
    /** A unique identifier for the client performing the mutation. */
    clientMutationId?: InputMaybe<Scalars["String"]["input"]>;
    /** The ID of the invoice to void */
    id: Scalars["ID"]["input"];
}
/** The different event types available */
type WebhookEvent = "app_membership_cancel_at_period_end_changed" | "app_membership_went_invalid" | "app_membership_went_valid" | "app_payment_failed" | "app_payment_pending" | "app_payment_succeeded" | "dispute_alert_created" | "dispute_created" | "dispute_updated" | "invoice_created" | "invoice_paid" | "invoice_past_due" | "invoice_voided" | "membership_cancel_at_period_end_changed" | "membership_experience_claimed" | "membership_metadata_updated" | "membership_went_invalid" | "membership_went_valid" | "payment_affiliate_reward_created" | "payment_failed" | "payment_pending" | "payment_succeeded" | "refund_created" | "refund_updated" | "resolution_created" | "resolution_decided" | "resolution_updated";
/** The anchor for when the Connected Account will be paid out */
type WeeklyAnchors = "friday" | "monday" | "saturday" | "sunday" | "thursday" | "tuesday" | "wednesday";
/** Who can post on a chat feed */
type WhoCanPostTypes = "admins" | "everyone";
/** Who can react on a chat feed */
type WhoCanReactTypes = "everyone" | "no_one";
/** Values to filter users on */
interface WhopSidebarFilters {
    /** How to order the results. */
    direction?: InputMaybe<Direction>;
    /** What to order the results by. */
    order?: InputMaybe<WhopSidebarOrderEnum>;
    /** The text that is being searched. */
    query?: InputMaybe<Scalars["String"]["input"]>;
}
/** The order to sort the results by. */
type WhopSidebarOrderEnum = "date_joined" | "last_seen_at" | "name" | "paid_out_by_company" | "time_spent_in_whop";
/** Values to filter users on */
interface WhopSidebarWithEarningsFilters {
    /** How to order the results. */
    direction?: InputMaybe<Direction>;
    /** What to order the results by. */
    order?: InputMaybe<WhopSidebarWithEarningsOrderEnum>;
    /** The text that is being searched. */
    query?: InputMaybe<Scalars["String"]["input"]>;
}
/** The order to sort the results by. */
type WhopSidebarWithEarningsOrderEnum = "last_7_days" | "last_24_hours" | "last_30_days" | "lifetime";
/** The different fee types for a withdrawal. */
type WithdrawalFeeTypes = "exclusive" | "inclusive";
/** Values to filter the withdrawals on. */
interface WithdrawalFilters {
    /** Filter by currency */
    currency?: InputMaybe<Currencies>;
    /** The withdrawal status/state */
    statuses?: InputMaybe<Array<WithdrawalStatus>>;
}
/** The method used for withdrawing. */
type WithdrawalMethods = 
/** Ach */
"ach"
/** Btc */
 | "btc"
/** Cash App */
 | "cash_app"
/** Check */
 | "check"
/** Echeck */
 | "echeck"
/** Manual */
 | "manual"
/** Masspay */
 | "masspay"
/** Paypal */
 | "paypal"
/** Stripe */
 | "stripe"
/** Venmo */
 | "venmo"
/** Wire Transfer */
 | "wire_transfer"
/** Zelle */
 | "zelle";
/** The statuses a review can have */
type WithdrawalProviders = 
/** Manual */
"manual"
/** Masspay */
 | "masspay"
/** Stripe */
 | "stripe"
/** Tipalti */
 | "tipalti";
/** The different speeds of withdrawals */
type WithdrawalSpeeds = 
/** Instant */
"instant"
/** Standard */
 | "standard";
/** The status of a withdrawal request */
type WithdrawalStatus = 
/** Awaiting Payment */
"awaiting_payment"
/** Canceled */
 | "canceled"
/** Completed */
 | "completed"
/** Denied */
 | "denied"
/** Failed */
 | "failed"
/** In Transit */
 | "in_transit"
/** Requested */
 | "requested";
/** The types of withdrawals */
type WithdrawalTypes = 
/** Clawback */
"clawback"
/** Regular */
 | "regular";
/** Which columns can be used to sort. */
type WithdrawalsSortableColumns = "amount" | "created_at" | "id";
type AccessPassFragmentFragment = {
    __typename?: "PublicAccessPass";
    id: string;
    title: string;
    shortenedDescription?: string | null;
    verified: boolean;
    visibility: Visibility;
    route: string;
    activeUsersCount: number;
    logo?: {
        __typename?: "AudioAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "ImageAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "OtherAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "VideoAttachment";
        sourceUrl?: string | null;
    } | null;
};
type BaseAccessPassFragment = {
    __typename?: "AccessPass";
    id: string;
    createdAt: number;
    route: string;
    title: string;
    headline?: string | null;
    shortenedDescription?: string | null;
    verified: boolean;
    visibility: Visibility;
    activeUsersCount: number;
    reviewsAverage: number;
    creatorPitch?: string | null;
    updatedAtMs: string;
    showOffers: boolean;
    redirectPurchaseUrl?: string | null;
    customCta: CustomCtas;
    customCtaUrl?: string | null;
    globalAffiliatePercentage?: number | null;
    globalAffiliateStatus: GlobalAffiliateStatuses;
    memberAffiliatePercentage?: number | null;
    memberAffiliateStatus: GlobalAffiliateStatuses;
    showMemberCount: boolean;
    logo?: {
        __typename?: "AudioAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "ImageAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "OtherAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "VideoAttachment";
        sourceUrl?: string | null;
    } | null;
    bannerImage?: {
        __typename?: "AudioAttachment";
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename?: "ImageAttachment";
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename?: "OtherAttachment";
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename?: "VideoAttachment";
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | null;
};
type BaseAffiliateFragment = {
    __typename?: "Affiliate";
    id: string;
    status?: Status | null;
    activeMembersCount: number;
    affiliateType?: AffiliateTypes | null;
    totalPlanCount: number;
    totalReferralEarnings: string;
    totalReferrals: number;
    totalRevenue: string;
};
type AffiliateWithUserFragment = {
    __typename?: "Affiliate";
    id: string;
    status?: Status | null;
    activeMembersCount: number;
    affiliateType?: AffiliateTypes | null;
    totalPlanCount: number;
    totalReferralEarnings: string;
    totalReferrals: number;
    totalRevenue: string;
    userAccount: {
        __typename?: "PublicProfileUser";
        id: string;
        name?: string | null;
        username: string;
        phoneVerified: boolean;
        city?: string | null;
        country?: string | null;
        profilePicture?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
    };
};
type BaseAppBuildFragment = {
    __typename?: "AppBuild";
    id: string;
    createdAt: number;
    fileUrl: string;
    checksum: string;
    platform: AppBuildPlatforms;
    reviewMessage?: string | null;
    supportedAppViewTypes: Array<AppViewTypes>;
    status: AppBuildStatuses;
};
type BaseAppFragment = {
    __typename?: "App";
    id: string;
    name: string;
    description?: string | null;
    status: AppStatuses;
    usingDefaultIcon: boolean;
    baseUrl?: string | null;
    baseDevUrl?: string | null;
    experiencePath?: string | null;
    discoverPath?: string | null;
    dashboardPath?: string | null;
    icon?: {
        __typename?: "AudioAttachment";
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename?: "ImageAttachment";
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename?: "OtherAttachment";
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename?: "VideoAttachment";
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | null;
};
type BaseAppApiKeyFragment = {
    __typename?: "PrivateApiKey";
    id: string;
    token: string;
    createdAt: number;
};
type BaseAppAgentUserFragment = {
    __typename?: "User";
    id: string;
    name?: string | null;
    username: string;
};
type BaseAppStatsFragment = {
    __typename?: "PublicAppStats";
    dau: number;
    mau: number;
    timeSpentLast24HoursInSeconds: number;
    wau: number;
};
type Attachment_AudioAttachment_Fragment = {
    __typename: "AudioAttachment";
    duration?: number | null;
    waveformUrl?: string | null;
    id: string;
    signedId?: string | null;
    analyzed: boolean;
    byteSizeV2?: string | null;
    filename?: string | null;
    contentType?: string | null;
    source: {
        __typename?: "AttachmentSource";
        url: string;
    };
};
type Attachment_ImageAttachment_Fragment = {
    __typename: "ImageAttachment";
    height?: number | null;
    width?: number | null;
    blurhash?: string | null;
    aspectRatio?: number | null;
    id: string;
    signedId?: string | null;
    analyzed: boolean;
    byteSizeV2?: string | null;
    filename?: string | null;
    contentType?: string | null;
    source: {
        __typename?: "AttachmentSource";
        url: string;
    };
};
type Attachment_OtherAttachment_Fragment = {
    __typename: "OtherAttachment";
    id: string;
    signedId?: string | null;
    analyzed: boolean;
    byteSizeV2?: string | null;
    filename?: string | null;
    contentType?: string | null;
    source: {
        __typename?: "AttachmentSource";
        url: string;
    };
};
type Attachment_VideoAttachment_Fragment = {
    __typename: "VideoAttachment";
    height?: number | null;
    width?: number | null;
    duration?: number | null;
    aspectRatio?: number | null;
    id: string;
    signedId?: string | null;
    analyzed: boolean;
    byteSizeV2?: string | null;
    filename?: string | null;
    contentType?: string | null;
    preview: {
        __typename?: "AttachmentSource";
        url: string;
    };
    source: {
        __typename?: "AttachmentSource";
        url: string;
    };
};
type AttachmentFragment = Attachment_AudioAttachment_Fragment | Attachment_ImageAttachment_Fragment | Attachment_OtherAttachment_Fragment | Attachment_VideoAttachment_Fragment;
type BaseAuthorizedUserFragment = {
    __typename?: "AuthorizedUser";
    id: string;
    name?: string | null;
    username: string;
    userId: string;
    email?: string | null;
    role: AuthorizedUserRoles;
};
type BaseInvoiceFragment = {
    __typename?: "Invoice";
    id: string;
    createdAt: number;
    status: InvoiceStatuses;
    number: string;
    dueDate?: number | null;
    emailAddress?: string | null;
    fetchInvoiceToken: string;
    currentPlan: {
        __typename?: "Plan";
        id: string;
        formattedPrice: string;
        baseCurrency: Currencies;
    };
    member?: {
        __typename?: "Member";
        id: string;
        email?: string | null;
        name?: string | null;
        username?: string | null;
    } | null;
};
type BaseLedgerAccountFragment = {
    __typename?: "LedgerAccount";
    id: string;
    transferFee?: number | null;
    balanceCaches: {
        __typename?: "BalanceCacheConnection";
        nodes?: Array<{
            __typename?: "BalanceCache";
            balance: number;
            pendingBalance: number;
            currency: Currencies;
        } | null> | null;
    };
};
type BasePublicPlanFragment = {
    __typename?: "PublicPlan";
    id: string;
    baseCurrency: Currencies;
    rawRenewalPrice: number;
    rawInitialPrice: number;
    initialPriceDue: number;
    createdAt: number;
    updatedAt: number;
    billingPeriod?: number | null;
    trialPeriodDays?: number | null;
    expirationDays?: number | null;
    unlimitedStock: boolean;
    paymentLinkDescription?: string | null;
    releaseMethod: ReleaseMethod;
    stock?: number | null;
    visibility: Visibility;
    planType: PlanTypes;
};
type BasePlanFragment = {
    __typename?: "Plan";
    id: string;
    baseCurrency: Currencies;
    rawRenewalPrice: number;
    rawInitialPrice: number;
    initialPriceDue: number;
    createdAt: number;
    updatedAt: number;
    billingPeriod?: number | null;
    trialPeriodDays?: number | null;
    expirationDays?: number | null;
    unlimitedStock: boolean;
    paymentLinkDescription?: string | null;
    releaseMethod: ReleaseMethod;
    stock: number;
    visibility: Visibility;
    planType: PlanTypes;
    title: string;
    description?: string | null;
    name?: string | null;
    formattedPrice: string;
    formattedBillingPeriod?: string | null;
};
type BaseReceiptFragment = {
    __typename?: "Receipt";
    id: string;
    settledUsdAmount?: number | null;
    billingReason?: string | null;
    last4?: string | null;
    currency?: Currencies | null;
    status?: ReceiptStatus | null;
    createdAt: number;
    total?: number | null;
    brand?: string | null;
    paymentProcessor?: ReceiptPaymentProcessor | null;
    paymentMethodType?: string | null;
    disputeAlertedAt?: number | null;
    finalAmount: number;
    presentedFinalAmount?: number | null;
    presentedSettledUsdAmount?: number | null;
    refundedAmount?: number | null;
    friendlyStatus: FriendlyReceiptStatus;
    failureMessage?: string | null;
    refundable: boolean;
    retryable: boolean;
    paidAt?: number | null;
    amountAfterFees: number;
    chargeSkippedPriceTooLow: boolean;
    lastPaymentAttempt?: number | null;
    autoRefunded: boolean;
    totalUsdAmount?: number | null;
    mostRecentRiskScore?: number | null;
    address?: {
        __typename?: "Address";
        name?: string | null;
        line1?: string | null;
        line2?: string | null;
        city?: string | null;
        state?: string | null;
        postalCode?: string | null;
        country?: string | null;
    } | null;
    member?: {
        __typename?: "CompanyMember";
        header: string;
        user?: {
            __typename?: "CompanyMemberUser";
            id: string;
            username: string;
            name?: string | null;
            email?: string | null;
            country?: string | null;
            countryName?: string | null;
        } | null;
        imageSrcset: {
            __typename?: "ImgSrcset";
            original: string;
            double: string;
            isVideo: boolean;
        };
    } | null;
    plan?: {
        __typename?: "Plan";
        id: string;
        title: string;
        formattedPrice: string;
        initialPrice: number;
        renewalPrice: number;
        paymentLinkDescription?: string | null;
    } | null;
    membership?: {
        __typename?: "Membership";
        id: string;
        status: MembershipStatus;
    } | null;
    promoCode?: {
        __typename?: "PromoCode";
        id: string;
        code?: string | null;
        amountOff: number;
        baseCurrency: Currencies;
        promoType: PromoTypes;
        numberOfIntervals?: number | null;
    } | null;
    accessPass?: {
        __typename?: "AccessPass";
        id: string;
        title: string;
    } | null;
};
type BaseUserFragment = {
    __typename?: "User";
    id: string;
    email?: string | null;
    name?: string | null;
    username: string;
    profilePicture?: {
        __typename?: "AudioAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "ImageAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "OtherAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "VideoAttachment";
        sourceUrl?: string | null;
    } | null;
};
type BasePublicProfileUserFragment = {
    __typename?: "PublicProfileUser";
    id: string;
    name?: string | null;
    username: string;
    phoneVerified: boolean;
    city?: string | null;
    country?: string | null;
    profilePicture?: {
        __typename?: "AudioAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "ImageAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "OtherAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "VideoAttachment";
        sourceUrl?: string | null;
    } | null;
};
type BasicCourseFragment = {
    __typename?: "Course";
    certificateAfterCompletionEnabled?: boolean | null;
    coverImage?: string | null;
    description?: string | null;
    id: string;
    language: Languages;
    requireCompletingLessonsInOrder: boolean;
    tagline?: string | null;
    title?: string | null;
    videoProtectionEnabled: boolean;
    chapters: Array<{
        __typename?: "Chapter";
        id: string;
        title: string;
        order: number;
        lessons: Array<{
            __typename?: "Lesson";
            id: string;
            lessonType: LessonTypes;
            title: string;
            order: number;
            visibility: LessonVisibilities;
            daysFromCourseStartUntilUnlock?: number | null;
            content?: string | null;
            muxAsset?: {
                __typename?: "MuxAsset";
                id: string;
                muxAssetId?: string | null;
                playbackId?: string | null;
                signedPlaybackId?: string | null;
                signedThumbnailPlaybackToken?: string | null;
                signedVideoPlaybackToken?: string | null;
                signedStoryboardPlaybackToken?: string | null;
                durationSeconds?: number | null;
                status: MuxAssetStatuses;
                finishedUploadingAt?: number | null;
            } | null;
        }>;
    }>;
};
type BasicCourseChapterFragment = {
    __typename?: "Chapter";
    id: string;
    title: string;
    order: number;
    lessons: Array<{
        __typename?: "Lesson";
        id: string;
        lessonType: LessonTypes;
        title: string;
        order: number;
        visibility: LessonVisibilities;
        daysFromCourseStartUntilUnlock?: number | null;
        content?: string | null;
        muxAsset?: {
            __typename?: "MuxAsset";
            id: string;
            muxAssetId?: string | null;
            playbackId?: string | null;
            signedPlaybackId?: string | null;
            signedThumbnailPlaybackToken?: string | null;
            signedVideoPlaybackToken?: string | null;
            signedStoryboardPlaybackToken?: string | null;
            durationSeconds?: number | null;
            status: MuxAssetStatuses;
            finishedUploadingAt?: number | null;
        } | null;
    }>;
};
type BasicCourseLessonFragment = {
    __typename?: "Lesson";
    id: string;
    lessonType: LessonTypes;
    title: string;
    order: number;
    visibility: LessonVisibilities;
    daysFromCourseStartUntilUnlock?: number | null;
    content?: string | null;
    muxAsset?: {
        __typename?: "MuxAsset";
        id: string;
        muxAssetId?: string | null;
        playbackId?: string | null;
        signedPlaybackId?: string | null;
        signedThumbnailPlaybackToken?: string | null;
        signedVideoPlaybackToken?: string | null;
        signedStoryboardPlaybackToken?: string | null;
        durationSeconds?: number | null;
        status: MuxAssetStatuses;
        finishedUploadingAt?: number | null;
    } | null;
};
type CompanyFragmentFragment = {
    __typename?: "PublicCompany";
    id: string;
    title: string;
    route: string;
    logo?: {
        __typename?: "AudioAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "ImageAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "OtherAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "VideoAttachment";
        sourceUrl?: string | null;
    } | null;
    bannerImage?: {
        __typename?: "AudioAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "ImageAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "OtherAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "VideoAttachment";
        sourceUrl?: string | null;
    } | null;
};
type ExperienceFragmentFragment = {
    __typename?: "CustomPrivate";
    id: string;
    name?: string | null;
    description?: string | null;
    logo?: {
        __typename?: "ImgSrcset";
        sourceUrl: string;
    } | null;
    app: {
        __typename?: "PublicApp";
        id: string;
        name: string;
        icon?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
    };
};
type PublicExperienceFragmentFragment = {
    __typename?: "PublicExperience";
    id: string;
    name: string;
    description?: string | null;
    logo?: {
        __typename?: "AudioAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "ImageAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "OtherAttachment";
        sourceUrl?: string | null;
    } | {
        __typename?: "VideoAttachment";
        sourceUrl?: string | null;
    } | null;
    app: {
        __typename?: "PublicApp";
        id: string;
        name: string;
        icon?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
    };
    company: {
        __typename?: "PublicCompany";
        id: string;
        title: string;
        route: string;
        logo?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
        bannerImage?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
    };
};
type ForumPostFragmentFragment = {
    __typename?: "ForumPost";
    id: string;
    createdAt: string;
    updatedAt: string;
    content?: string | null;
    richContent?: string | null;
    isDeleted: boolean;
    isEdited: boolean;
    mentionedUserIds: Array<string>;
    parentId?: string | null;
    viewCount?: number | null;
    isPinned: boolean;
    attachments: Array<{
        __typename?: "AudioAttachment";
        id: string;
        contentType?: string | null;
        sourceUrl?: string | null;
    } | {
        __typename?: "ImageAttachment";
        id: string;
        contentType?: string | null;
        sourceUrl?: string | null;
    } | {
        __typename?: "OtherAttachment";
        id: string;
        contentType?: string | null;
        sourceUrl?: string | null;
    } | {
        __typename?: "VideoAttachment";
        id: string;
        contentType?: string | null;
        sourceUrl?: string | null;
    }>;
    user: {
        __typename?: "PublicProfileUser";
        id: string;
        name?: string | null;
        username: string;
        phoneVerified: boolean;
        city?: string | null;
        country?: string | null;
        profilePicture?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
    };
};
type FullCourseLessonFragment = {
    __typename?: "Lesson";
    id: string;
    lessonType: LessonTypes;
    title: string;
    order: number;
    visibility: LessonVisibilities;
    content?: string | null;
    daysFromCourseStartUntilUnlock?: number | null;
    muxAsset?: {
        __typename?: "MuxAsset";
        id: string;
        muxAssetId?: string | null;
        playbackId?: string | null;
        signedPlaybackId?: string | null;
        signedThumbnailPlaybackToken?: string | null;
        signedVideoPlaybackToken?: string | null;
        signedStoryboardPlaybackToken?: string | null;
        durationSeconds?: number | null;
        status: MuxAssetStatuses;
        finishedUploadingAt?: number | null;
    } | null;
    assessmentQuestions: Array<{
        __typename?: "AssessmentQuestion";
        id: string;
        correctAnswer: string;
        order: number;
        questionText: string;
        questionType: CoursesAssessmentQuestionTypes;
        image?: {
            __typename: "AudioAttachment";
            duration?: number | null;
            waveformUrl?: string | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "ImageAttachment";
            height?: number | null;
            width?: number | null;
            blurhash?: string | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "OtherAttachment";
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "VideoAttachment";
            height?: number | null;
            width?: number | null;
            duration?: number | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            preview: {
                __typename?: "AttachmentSource";
                url: string;
            };
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | null;
        options: Array<{
            __typename?: "AssessmentQuestionOption";
            id: string;
            isCorrect: boolean;
            optionText: string;
            order: number;
        }>;
    }>;
    attachments: {
        __typename?: "AttachmentInterfaceConnection";
        nodes?: Array<{
            __typename: "AudioAttachment";
            duration?: number | null;
            waveformUrl?: string | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "ImageAttachment";
            height?: number | null;
            width?: number | null;
            blurhash?: string | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "OtherAttachment";
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "VideoAttachment";
            height?: number | null;
            width?: number | null;
            duration?: number | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            preview: {
                __typename?: "AttachmentSource";
                url: string;
            };
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | null> | null;
    };
    mainPdf?: {
        __typename: "AudioAttachment";
        duration?: number | null;
        waveformUrl?: string | null;
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename: "ImageAttachment";
        height?: number | null;
        width?: number | null;
        blurhash?: string | null;
        aspectRatio?: number | null;
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename: "OtherAttachment";
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename: "VideoAttachment";
        height?: number | null;
        width?: number | null;
        duration?: number | null;
        aspectRatio?: number | null;
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        preview: {
            __typename?: "AttachmentSource";
            url: string;
        };
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | null;
};
type CourseMuxAssetFragment = {
    __typename?: "MuxAsset";
    id: string;
    muxAssetId?: string | null;
    playbackId?: string | null;
    signedPlaybackId?: string | null;
    signedThumbnailPlaybackToken?: string | null;
    signedVideoPlaybackToken?: string | null;
    signedStoryboardPlaybackToken?: string | null;
    durationSeconds?: number | null;
    status: MuxAssetStatuses;
    finishedUploadingAt?: number | null;
};
type CourseAssessmentQuestionFragment = {
    __typename?: "AssessmentQuestion";
    id: string;
    correctAnswer: string;
    order: number;
    questionText: string;
    questionType: CoursesAssessmentQuestionTypes;
    image?: {
        __typename: "AudioAttachment";
        duration?: number | null;
        waveformUrl?: string | null;
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename: "ImageAttachment";
        height?: number | null;
        width?: number | null;
        blurhash?: string | null;
        aspectRatio?: number | null;
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename: "OtherAttachment";
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename: "VideoAttachment";
        height?: number | null;
        width?: number | null;
        duration?: number | null;
        aspectRatio?: number | null;
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        preview: {
            __typename?: "AttachmentSource";
            url: string;
        };
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | null;
    options: Array<{
        __typename?: "AssessmentQuestionOption";
        id: string;
        isCorrect: boolean;
        optionText: string;
        order: number;
    }>;
};
type BaseCompanyMemberFragment = {
    __typename?: "CompanyMember";
    id: string;
    createdAt: number;
    updatedAtMs: string;
    joinedAt: number;
    status: MemberStatuses;
    phone?: string | null;
    accessLevel: AccessLevel;
    totalSpent: number;
    usdTotalSpent: string;
    mrr: string;
    user?: {
        __typename?: "CompanyMemberUser";
        id: string;
        email?: string | null;
        name?: string | null;
        username: string;
    } | null;
    imageSrcset: {
        __typename?: "ImgSrcset";
        original: string;
    };
};
type MessageFragment = {
    __typename?: "DmsPost";
    id: string;
    createdAt: string;
    updatedAt: string;
    content?: string | null;
    richContent?: string | null;
    isDeleted: boolean;
    isEdited: boolean;
    isPinned: boolean;
    isEveryoneMentioned: boolean;
    mentionedUserIds: Array<string>;
    messageType: DmsPostTypes;
    replyingToPostId?: string | null;
    viewCount?: number | null;
    attachments: Array<{
        __typename?: "AudioAttachment";
        id: string;
        contentType?: string | null;
        sourceUrl?: string | null;
    } | {
        __typename?: "ImageAttachment";
        id: string;
        contentType?: string | null;
        sourceUrl?: string | null;
    } | {
        __typename?: "OtherAttachment";
        id: string;
        contentType?: string | null;
        sourceUrl?: string | null;
    } | {
        __typename?: "VideoAttachment";
        id: string;
        contentType?: string | null;
        sourceUrl?: string | null;
    }>;
    user: {
        __typename?: "PublicProfileUser";
        id: string;
        name?: string | null;
        username: string;
        phoneVerified: boolean;
        city?: string | null;
        country?: string | null;
        profilePicture?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
    };
};
type BasePromoCodeFragment = {
    __typename?: "PromoCode";
    id: string;
    code?: string | null;
    promoType: PromoTypes;
    duration?: PromoDurations | null;
    createdAt: number;
    expirationDatetime?: number | null;
    baseCurrency: Currencies;
    amountOff: number;
    discountOff: string;
    existingMembershipsOnly: boolean;
    numberOfIntervals?: number | null;
    status: PromoCodeStatus;
    stock: number;
    unlimitedStock: boolean;
    uses: number;
    onePerCustomer: boolean;
    churnedUsersOnly: boolean;
    newUsersOnly: boolean;
    accessPass?: {
        __typename?: "AccessPass";
        id: string;
        title: string;
    } | null;
};
type BasePublicPromoCodeFragment = {
    __typename?: "PublicPromoCode";
    id: string;
    code: string;
    createdAt: number;
    promoType: PromoTypes;
    baseCurrency: Currencies;
    duration: PromoDurations;
    amountOff: number;
    discountOff: string;
    existingMembershipsOnly: boolean;
    numberOfIntervals: number;
    isPopupPromo: boolean;
};
type BaseWebhookFragment = {
    __typename?: "Webhook";
    id: string;
    url: string;
    apiVersion: ApiVersion;
    createdAt: number;
    enabled: boolean;
    events: Array<WebhookEvent>;
    resourceId: string;
    webhookSecret: string;
};
type CreateAccessPassMutationVariables = Exact<{
    input: CreateAccessPassInput;
}>;
type CreateAccessPassMutation = {
    __typename?: "PublicMutation";
    createAccessPass?: {
        __typename?: "AccessPass";
        id: string;
        createdAt: number;
        route: string;
        title: string;
        headline?: string | null;
        shortenedDescription?: string | null;
        verified: boolean;
        visibility: Visibility;
        activeUsersCount: number;
        reviewsAverage: number;
        creatorPitch?: string | null;
        updatedAtMs: string;
        showOffers: boolean;
        redirectPurchaseUrl?: string | null;
        customCta: CustomCtas;
        customCtaUrl?: string | null;
        globalAffiliatePercentage?: number | null;
        globalAffiliateStatus: GlobalAffiliateStatuses;
        memberAffiliatePercentage?: number | null;
        memberAffiliateStatus: GlobalAffiliateStatuses;
        showMemberCount: boolean;
        logo?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
        bannerImage?: {
            __typename?: "AudioAttachment";
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename?: "ImageAttachment";
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename?: "OtherAttachment";
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename?: "VideoAttachment";
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | null;
    } | null;
};
type DeleteAccessPassMutationVariables = Exact<{
    input: DeleteAccessPassInput;
}>;
type DeleteAccessPassMutation = {
    __typename?: "PublicMutation";
    deleteAccessPass?: boolean | null;
};
type GetAccessPassQueryVariables = Exact<{
    accessPassId: Scalars["ID"]["input"];
}>;
type GetAccessPassQuery = {
    __typename?: "PublicQuery";
    accessPass: {
        __typename?: "PublicAccessPass";
        headline?: string | null;
        reviewsAverage: number;
        id: string;
        title: string;
        shortenedDescription?: string | null;
        verified: boolean;
        visibility: Visibility;
        route: string;
        activeUsersCount: number;
        bannerImage?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
        company: {
            __typename?: "PublicCompany";
            id: string;
            title: string;
            route: string;
            logo?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
            bannerImage?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
        };
        ownerUser: {
            __typename?: "PublicProfileUser";
            id: string;
            name?: string | null;
            username: string;
            phoneVerified: boolean;
            city?: string | null;
            country?: string | null;
            profilePicture?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
        };
        galleryImages: {
            __typename?: "AttachmentInterfaceConnection";
            nodes?: Array<{
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null> | null;
        };
        logo?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
    };
};
type UpdateAccessPassMutationVariables = Exact<{
    input: UpdateAccessPassInput;
}>;
type UpdateAccessPassMutation = {
    __typename?: "PublicMutation";
    updateAccessPass?: {
        __typename?: "AccessPass";
        id: string;
        createdAt: number;
        route: string;
        title: string;
        headline?: string | null;
        shortenedDescription?: string | null;
        verified: boolean;
        visibility: Visibility;
        activeUsersCount: number;
        reviewsAverage: number;
        creatorPitch?: string | null;
        updatedAtMs: string;
        showOffers: boolean;
        redirectPurchaseUrl?: string | null;
        customCta: CustomCtas;
        customCtaUrl?: string | null;
        globalAffiliatePercentage?: number | null;
        globalAffiliateStatus: GlobalAffiliateStatuses;
        memberAffiliatePercentage?: number | null;
        memberAffiliateStatus: GlobalAffiliateStatuses;
        showMemberCount: boolean;
        logo?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
        bannerImage?: {
            __typename?: "AudioAttachment";
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename?: "ImageAttachment";
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename?: "OtherAttachment";
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename?: "VideoAttachment";
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | null;
    } | null;
};
type CheckIfUserHasAccessToAccessPassQueryVariables = Exact<{
    accessPassId: Scalars["ID"]["input"];
    userId?: InputMaybe<Scalars["ID"]["input"]>;
}>;
type CheckIfUserHasAccessToAccessPassQuery = {
    __typename?: "PublicQuery";
    hasAccessToAccessPass: {
        __typename?: "HasAccessResult";
        hasAccess: boolean;
        accessLevel: AccessLevel;
    };
};
type CheckIfUserHasAccessToCompanyQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
    userId?: InputMaybe<Scalars["ID"]["input"]>;
}>;
type CheckIfUserHasAccessToCompanyQuery = {
    __typename?: "PublicQuery";
    hasAccessToCompany: {
        __typename?: "HasAccessResult";
        hasAccess: boolean;
        accessLevel: AccessLevel;
    };
};
type CheckIfUserHasAccessToExperienceQueryVariables = Exact<{
    experienceId: Scalars["ID"]["input"];
    userId?: InputMaybe<Scalars["ID"]["input"]>;
}>;
type CheckIfUserHasAccessToExperienceQuery = {
    __typename?: "PublicQuery";
    hasAccessToExperience: {
        __typename?: "HasAccessResult";
        hasAccess: boolean;
        accessLevel: AccessLevel;
    };
};
type CreateAffiliateMutationVariables = Exact<{
    input: CreateAffiliateInput;
}>;
type CreateAffiliateMutation = {
    __typename?: "PublicMutation";
    createAffiliate?: {
        __typename?: "Affiliate";
        id: string;
        status?: Status | null;
        activeMembersCount: number;
        affiliateType?: AffiliateTypes | null;
        totalPlanCount: number;
        totalReferralEarnings: string;
        totalReferrals: number;
        totalRevenue: string;
        userAccount: {
            __typename?: "PublicProfileUser";
            id: string;
            name?: string | null;
            username: string;
            phoneVerified: boolean;
            city?: string | null;
            country?: string | null;
            profilePicture?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
        };
    } | null;
};
type GetAffiliateQueryVariables = Exact<{
    affiliateId: Scalars["ID"]["input"];
    companyId: Scalars["ID"]["input"];
}>;
type GetAffiliateQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        affiliate: {
            __typename?: "Affiliate";
            id: string;
            status?: Status | null;
            activeMembersCount: number;
            affiliateType?: AffiliateTypes | null;
            totalPlanCount: number;
            totalReferralEarnings: string;
            totalReferrals: number;
            totalRevenue: string;
            userAccount: {
                __typename?: "PublicProfileUser";
                id: string;
                name?: string | null;
                username: string;
                phoneVerified: boolean;
                city?: string | null;
                country?: string | null;
                profilePicture?: {
                    __typename?: "AudioAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "ImageAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "OtherAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "VideoAttachment";
                    sourceUrl?: string | null;
                } | null;
            };
        };
    } | null;
};
type ListAffiliatesQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
    after?: InputMaybe<Scalars["String"]["input"]>;
    before?: InputMaybe<Scalars["String"]["input"]>;
    direction?: InputMaybe<Direction>;
    first?: InputMaybe<Scalars["Int"]["input"]>;
    last?: InputMaybe<Scalars["Int"]["input"]>;
    order?: InputMaybe<AffiliatesSortableColumns>;
}>;
type ListAffiliatesQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        affiliates: {
            __typename?: "AffiliateConnection";
            totalCount: number;
            pageInfo: {
                __typename?: "PageInfo";
                startCursor?: string | null;
                hasPreviousPage: boolean;
                hasNextPage: boolean;
                endCursor?: string | null;
            };
            nodes?: Array<{
                __typename?: "Affiliate";
                id: string;
                status?: Status | null;
                activeMembersCount: number;
                affiliateType?: AffiliateTypes | null;
                totalPlanCount: number;
                totalReferralEarnings: string;
                totalReferrals: number;
                totalRevenue: string;
                userAccount: {
                    __typename?: "PublicProfileUser";
                    id: string;
                    name?: string | null;
                    username: string;
                    phoneVerified: boolean;
                    city?: string | null;
                    country?: string | null;
                    profilePicture?: {
                        __typename?: "AudioAttachment";
                        sourceUrl?: string | null;
                    } | {
                        __typename?: "ImageAttachment";
                        sourceUrl?: string | null;
                    } | {
                        __typename?: "OtherAttachment";
                        sourceUrl?: string | null;
                    } | {
                        __typename?: "VideoAttachment";
                        sourceUrl?: string | null;
                    } | null;
                };
            } | null> | null;
        };
    } | null;
};
type UpdateAffiliateMutationVariables = Exact<{
    input: UpdateAffiliateInput;
}>;
type UpdateAffiliateMutation = {
    __typename?: "PublicMutation";
    updateAffiliate?: {
        __typename?: "Affiliate";
        id: string;
        status?: Status | null;
        activeMembersCount: number;
        affiliateType?: AffiliateTypes | null;
        totalPlanCount: number;
        totalReferralEarnings: string;
        totalReferrals: number;
        totalRevenue: string;
        userAccount: {
            __typename?: "PublicProfileUser";
            id: string;
            name?: string | null;
            username: string;
            phoneVerified: boolean;
            city?: string | null;
            country?: string | null;
            profilePicture?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
        };
    } | null;
};
type CreateAppBuildMutationVariables = Exact<{
    input: CreateAppBuildInput;
}>;
type CreateAppBuildMutation = {
    __typename?: "PublicMutation";
    createAppBuild?: {
        __typename?: "AppBuild";
        id: string;
        createdAt: number;
        fileUrl: string;
        checksum: string;
        platform: AppBuildPlatforms;
        reviewMessage?: string | null;
        supportedAppViewTypes: Array<AppViewTypes>;
        status: AppBuildStatuses;
    } | null;
};
type CreateAppMutationVariables = Exact<{
    input: CreateAppInput;
}>;
type CreateAppMutation = {
    __typename?: "PublicMutation";
    createApp?: {
        __typename?: "App";
        id: string;
        name: string;
        description?: string | null;
        status: AppStatuses;
        usingDefaultIcon: boolean;
        baseUrl?: string | null;
        baseDevUrl?: string | null;
        experiencePath?: string | null;
        discoverPath?: string | null;
        dashboardPath?: string | null;
        apiKeys: {
            __typename?: "PrivateApiKeyConnection";
            nodes?: Array<{
                __typename?: "PrivateApiKey";
                id: string;
                token: string;
                createdAt: number;
            } | null> | null;
        };
        agentUsers: {
            __typename?: "UserConnection";
            nodes?: Array<{
                __typename?: "User";
                id: string;
                name?: string | null;
                username: string;
            } | null> | null;
        };
        company: {
            __typename?: "PublicCompany";
            id: string;
        };
        accessPass: {
            __typename?: "AccessPass";
            id: string;
        };
        icon?: {
            __typename?: "AudioAttachment";
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename?: "ImageAttachment";
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename?: "OtherAttachment";
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename?: "VideoAttachment";
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | null;
    } | null;
};
type GetAppQueryVariables = Exact<{
    appId: Scalars["ID"]["input"];
    companyId: Scalars["ID"]["input"];
}>;
type GetAppQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        app: {
            __typename?: "App";
            id: string;
            name: string;
            description?: string | null;
            status: AppStatuses;
            usingDefaultIcon: boolean;
            baseUrl?: string | null;
            baseDevUrl?: string | null;
            experiencePath?: string | null;
            discoverPath?: string | null;
            dashboardPath?: string | null;
            stats?: {
                __typename?: "PublicAppStats";
                dau: number;
                mau: number;
                timeSpentLast24HoursInSeconds: number;
                wau: number;
            } | null;
            apiKeys: {
                __typename?: "PrivateApiKeyConnection";
                nodes?: Array<{
                    __typename?: "PrivateApiKey";
                    id: string;
                    token: string;
                    createdAt: number;
                } | null> | null;
            };
            agentUsers: {
                __typename?: "UserConnection";
                nodes?: Array<{
                    __typename?: "User";
                    id: string;
                    name?: string | null;
                    username: string;
                } | null> | null;
            };
            accessPass: {
                __typename?: "AccessPass";
                id: string;
                marketplaceStatus: MarketplaceStatuses;
                activeMembershipsCount: number;
                marketplaceCategory?: {
                    __typename?: "MarketplaceCategory";
                    id: string;
                    name: string;
                } | null;
            };
            icon?: {
                __typename?: "AudioAttachment";
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename?: "ImageAttachment";
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename?: "OtherAttachment";
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename?: "VideoAttachment";
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null;
        };
    } | null;
};
type ListAppsQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
    after?: InputMaybe<Scalars["String"]["input"]>;
    before?: InputMaybe<Scalars["String"]["input"]>;
    first?: InputMaybe<Scalars["Int"]["input"]>;
    last?: InputMaybe<Scalars["Int"]["input"]>;
}>;
type ListAppsQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        apps: {
            __typename?: "AppConnection";
            totalCount: number;
            pageInfo: {
                __typename?: "PageInfo";
                endCursor?: string | null;
                hasNextPage: boolean;
                hasPreviousPage: boolean;
                startCursor?: string | null;
            };
            nodes?: Array<{
                __typename?: "App";
                id: string;
                name: string;
                description?: string | null;
                status: AppStatuses;
                usingDefaultIcon: boolean;
                baseUrl?: string | null;
                baseDevUrl?: string | null;
                experiencePath?: string | null;
                discoverPath?: string | null;
                dashboardPath?: string | null;
                stats?: {
                    __typename?: "PublicAppStats";
                    dau: number;
                    mau: number;
                    timeSpentLast24HoursInSeconds: number;
                    wau: number;
                } | null;
                accessPass: {
                    __typename?: "AccessPass";
                    id: string;
                    marketplaceStatus: MarketplaceStatuses;
                };
                icon?: {
                    __typename?: "AudioAttachment";
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename?: "ImageAttachment";
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename?: "OtherAttachment";
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename?: "VideoAttachment";
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | null;
            } | null> | null;
        };
    } | null;
};
type PromoteAppBuildMutationVariables = Exact<{
    input: PromoteAppBuildToProductionInput;
}>;
type PromoteAppBuildMutation = {
    __typename?: "PublicMutation";
    promoteAppBuildToProduction?: boolean | null;
};
type UnassignAppBuildMutationVariables = Exact<{
    input: UnassignProductionAppBuildInput;
}>;
type UnassignAppBuildMutation = {
    __typename?: "PublicMutation";
    unassignProductionAppBuild?: boolean | null;
};
type UpdateAppPermissionsMutationVariables = Exact<{
    input: UpdateAppPermissionRequirementsInput;
}>;
type UpdateAppPermissionsMutation = {
    __typename?: "PublicMutation";
    updateAppPermissionRequirements?: boolean | null;
};
type UpdateAppMutationVariables = Exact<{
    input: UpdateAppInput;
}>;
type UpdateAppMutation = {
    __typename?: "PublicMutation";
    updateApp?: boolean | null;
};
type GetAttachmentQueryVariables = Exact<{
    id: Scalars["ID"]["input"];
}>;
type GetAttachmentQuery = {
    __typename?: "PublicQuery";
    attachment: {
        __typename: "AudioAttachment";
        duration?: number | null;
        waveformUrl?: string | null;
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename: "ImageAttachment";
        height?: number | null;
        width?: number | null;
        blurhash?: string | null;
        aspectRatio?: number | null;
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename: "OtherAttachment";
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    } | {
        __typename: "VideoAttachment";
        height?: number | null;
        width?: number | null;
        duration?: number | null;
        aspectRatio?: number | null;
        id: string;
        signedId?: string | null;
        analyzed: boolean;
        byteSizeV2?: string | null;
        filename?: string | null;
        contentType?: string | null;
        preview: {
            __typename?: "AttachmentSource";
            url: string;
        };
        source: {
            __typename?: "AttachmentSource";
            url: string;
        };
    };
};
type ProcessAttachmentMutationVariables = Exact<{
    input: AnalyzeAttachmentInput;
}>;
type ProcessAttachmentMutation = {
    __typename?: "PublicMutation";
    mediaAnalyzeAttachment?: boolean | null;
};
type UploadMediaMutationVariables = Exact<{
    input: DirectUploadInput;
}>;
type UploadMediaMutation = {
    __typename?: "PublicMutation";
    mediaDirectUpload?: {
        __typename?: "DirectUpload";
        id: string;
        headers: {
            [key: string]: any;
        };
        uploadUrl?: string | null;
        multipartUploadId?: string | null;
        multipartUploadUrls?: Array<{
            __typename?: "MultipartUrl";
            partNumber: number;
            url: string;
        }> | null;
    } | null;
};
type GetCompanyLedgerAccountQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
}>;
type GetCompanyLedgerAccountQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        ledgerAccount: {
            __typename?: "LedgerAccount";
            id: string;
            transferFee?: number | null;
            balanceCaches: {
                __typename?: "BalanceCacheConnection";
                nodes?: Array<{
                    __typename?: "BalanceCache";
                    balance: number;
                    pendingBalance: number;
                    currency: Currencies;
                } | null> | null;
            };
        };
    } | null;
};
type GetCompanyQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
}>;
type GetCompanyQuery = {
    __typename?: "PublicQuery";
    company: {
        __typename?: "PublicCompany";
        industryType?: IndustryTypes | null;
        businessType?: BusinessTypes | null;
        id: string;
        title: string;
        route: string;
        logo?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
        bannerImage?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
    };
};
type GetMemberQueryVariables = Exact<{
    companyMemberId: Scalars["ID"]["input"];
    companyId: Scalars["ID"]["input"];
}>;
type GetMemberQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        member: {
            __typename?: "CompanyMember";
            id: string;
            createdAt: number;
            updatedAtMs: string;
            joinedAt: number;
            status: MemberStatuses;
            phone?: string | null;
            accessLevel: AccessLevel;
            totalSpent: number;
            usdTotalSpent: string;
            mrr: string;
            user?: {
                __typename?: "CompanyMemberUser";
                id: string;
                email?: string | null;
                name?: string | null;
                username: string;
            } | null;
            imageSrcset: {
                __typename?: "ImgSrcset";
                original: string;
            };
        };
    } | null;
};
type ListAccessPassesQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
    visibility?: InputMaybe<VisibilityFilter>;
    order?: InputMaybe<AccessPassOrder>;
    last?: InputMaybe<Scalars["Int"]["input"]>;
    first?: InputMaybe<Scalars["Int"]["input"]>;
    direction?: InputMaybe<Direction>;
    conditions?: InputMaybe<Array<AccessPassConditions> | AccessPassConditions>;
    before?: InputMaybe<Scalars["String"]["input"]>;
    after?: InputMaybe<Scalars["String"]["input"]>;
    accessPassTypes?: InputMaybe<Array<AccessPassTypes> | AccessPassTypes>;
}>;
type ListAccessPassesQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        accessPasses: {
            __typename?: "AccessPassConnection";
            totalCount: number;
            pageInfo: {
                __typename?: "PageInfo";
                endCursor?: string | null;
                hasNextPage: boolean;
                hasPreviousPage: boolean;
                startCursor?: string | null;
            };
            nodes?: Array<{
                __typename?: "AccessPass";
                id: string;
                createdAt: number;
                route: string;
                title: string;
                headline?: string | null;
                shortenedDescription?: string | null;
                verified: boolean;
                visibility: Visibility;
                activeUsersCount: number;
                reviewsAverage: number;
                creatorPitch?: string | null;
                updatedAtMs: string;
                showOffers: boolean;
                redirectPurchaseUrl?: string | null;
                customCta: CustomCtas;
                customCtaUrl?: string | null;
                globalAffiliatePercentage?: number | null;
                globalAffiliateStatus: GlobalAffiliateStatuses;
                memberAffiliatePercentage?: number | null;
                memberAffiliateStatus: GlobalAffiliateStatuses;
                showMemberCount: boolean;
                logo?: {
                    __typename?: "AudioAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "ImageAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "OtherAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "VideoAttachment";
                    sourceUrl?: string | null;
                } | null;
                bannerImage?: {
                    __typename?: "AudioAttachment";
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename?: "ImageAttachment";
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename?: "OtherAttachment";
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename?: "VideoAttachment";
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | null;
            } | null> | null;
        };
    } | null;
};
type ListAuthorizedUsersQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
}>;
type ListAuthorizedUsersQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        authorizedUsers: Array<{
            __typename?: "AuthorizedUser";
            id: string;
            name?: string | null;
            username: string;
            userId: string;
            email?: string | null;
            role: AuthorizedUserRoles;
        }>;
    } | null;
};
type ListMembersQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
    after?: InputMaybe<Scalars["String"]["input"]>;
    before?: InputMaybe<Scalars["String"]["input"]>;
    direction?: InputMaybe<Direction>;
    first?: InputMaybe<Scalars["Int"]["input"]>;
    last?: InputMaybe<Scalars["Int"]["input"]>;
    order?: InputMaybe<MembersSortableColumns>;
    filters?: InputMaybe<MembersFiltersInput>;
}>;
type ListMembersQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        members: {
            __typename?: "CompanyMemberConnection";
            totalCount: number;
            pageInfo: {
                __typename?: "PageInfo";
                startCursor?: string | null;
                hasPreviousPage: boolean;
                hasNextPage: boolean;
                endCursor?: string | null;
            };
            nodes?: Array<{
                __typename?: "CompanyMember";
                id: string;
                createdAt: number;
                updatedAtMs: string;
                joinedAt: number;
                status: MemberStatuses;
                phone?: string | null;
                accessLevel: AccessLevel;
                totalSpent: number;
                usdTotalSpent: string;
                mrr: string;
                user?: {
                    __typename?: "CompanyMemberUser";
                    id: string;
                    email?: string | null;
                    name?: string | null;
                    username: string;
                } | null;
                imageSrcset: {
                    __typename?: "ImgSrcset";
                    original: string;
                };
            } | null> | null;
        };
    } | null;
};
type ListMembershipsQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
    after?: InputMaybe<Scalars["String"]["input"]>;
    before?: InputMaybe<Scalars["String"]["input"]>;
    direction?: InputMaybe<Direction>;
    first?: InputMaybe<Scalars["Int"]["input"]>;
    last?: InputMaybe<Scalars["Int"]["input"]>;
    order?: InputMaybe<MembershipsSortableColumns>;
    filters?: InputMaybe<MembershipsFiltersInput>;
}>;
type ListMembershipsQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        memberships: {
            __typename?: "MembershipConnection";
            totalCount: number;
            pageInfo: {
                __typename?: "PageInfo";
                startCursor?: string | null;
                hasPreviousPage: boolean;
                hasNextPage: boolean;
                endCursor?: string | null;
            };
            nodes?: Array<{
                __typename?: "Membership";
                id: string;
                status: MembershipStatus;
                createdAt: number;
                expiresAt?: number | null;
                canceledAt?: number | null;
                totalSpend: number;
                cancelationReason?: string | null;
                member?: {
                    __typename?: "Member";
                    id: string;
                    name?: string | null;
                    username?: string | null;
                    email?: string | null;
                    profilePicture?: {
                        __typename?: "AudioAttachment";
                        sourceUrl?: string | null;
                    } | {
                        __typename?: "ImageAttachment";
                        sourceUrl?: string | null;
                    } | {
                        __typename?: "OtherAttachment";
                        sourceUrl?: string | null;
                    } | {
                        __typename?: "VideoAttachment";
                        sourceUrl?: string | null;
                    } | null;
                } | null;
                plan: {
                    __typename?: "Plan";
                    id: string;
                };
                accessPass: {
                    __typename?: "AccessPass";
                    id: string;
                    title: string;
                };
                promoCode?: {
                    __typename?: "PromoCode";
                    code?: string | null;
                } | null;
            } | null> | null;
        };
    } | null;
};
type ListPlansQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
    after?: InputMaybe<Scalars["String"]["input"]>;
    before?: InputMaybe<Scalars["String"]["input"]>;
    filter?: InputMaybe<PlanFilters>;
    first?: InputMaybe<Scalars["Int"]["input"]>;
    last?: InputMaybe<Scalars["Int"]["input"]>;
}>;
type ListPlansQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        plans: {
            __typename?: "PlanConnection";
            totalCount: number;
            pageInfo: {
                __typename?: "PageInfo";
                endCursor?: string | null;
                hasNextPage: boolean;
                hasPreviousPage: boolean;
                startCursor?: string | null;
            };
            nodes?: Array<{
                __typename?: "Plan";
                id: string;
                baseCurrency: Currencies;
                rawRenewalPrice: number;
                rawInitialPrice: number;
                initialPriceDue: number;
                createdAt: number;
                updatedAt: number;
                billingPeriod?: number | null;
                trialPeriodDays?: number | null;
                expirationDays?: number | null;
                unlimitedStock: boolean;
                paymentLinkDescription?: string | null;
                releaseMethod: ReleaseMethod;
                stock: number;
                visibility: Visibility;
                planType: PlanTypes;
                title: string;
                description?: string | null;
                name?: string | null;
                formattedPrice: string;
                formattedBillingPeriod?: string | null;
                accessPass?: {
                    __typename?: "AccessPass";
                    id: string;
                    title: string;
                    route: string;
                    logo?: {
                        __typename?: "AudioAttachment";
                        sourceUrl?: string | null;
                    } | {
                        __typename?: "ImageAttachment";
                        sourceUrl?: string | null;
                    } | {
                        __typename?: "OtherAttachment";
                        sourceUrl?: string | null;
                    } | {
                        __typename?: "VideoAttachment";
                        sourceUrl?: string | null;
                    } | null;
                } | null;
            } | null> | null;
        };
    } | null;
};
type ListWaitlistEntriesQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
    after?: InputMaybe<Scalars["String"]["input"]>;
    before?: InputMaybe<Scalars["String"]["input"]>;
    direction?: InputMaybe<Direction>;
    first?: InputMaybe<Scalars["Int"]["input"]>;
    last?: InputMaybe<Scalars["Int"]["input"]>;
    order?: InputMaybe<EntriesSortableColumns>;
    filters?: InputMaybe<EntriesFiltersInput>;
}>;
type ListWaitlistEntriesQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        entries: {
            __typename?: "EntryConnection";
            totalCount: number;
            pageInfo: {
                __typename?: "PageInfo";
                endCursor?: string | null;
                hasNextPage: boolean;
                hasPreviousPage: boolean;
                startCursor?: string | null;
            };
            nodes?: Array<{
                __typename?: "Entry";
                id: string;
                name?: string | null;
                status: EntryStatus;
                createdAt?: number | null;
                updatedAtMs: string;
                user: {
                    __typename?: "PublicProfileUser";
                    id: string;
                    name?: string | null;
                    username: string;
                    profilePicture?: {
                        __typename?: "AudioAttachment";
                        sourceUrl?: string | null;
                    } | {
                        __typename?: "ImageAttachment";
                        sourceUrl?: string | null;
                    } | {
                        __typename?: "OtherAttachment";
                        sourceUrl?: string | null;
                    } | {
                        __typename?: "VideoAttachment";
                        sourceUrl?: string | null;
                    } | null;
                };
                plan?: {
                    __typename?: "Plan";
                    id: string;
                    title: string;
                } | null;
                accessPass?: {
                    __typename?: "PublicAccessPass";
                    id: string;
                    title: string;
                } | null;
                customFieldResponses?: Array<{
                    __typename?: "CustomFieldResponse";
                    id: string;
                    question: string;
                    answer: string;
                }> | null;
                member?: {
                    __typename?: "Member";
                    id: string;
                    email?: string | null;
                } | null;
            } | null> | null;
        };
    } | null;
};
type CreateAssessmentQuestionMutationVariables = Exact<{
    input: CreateAssessmentQuestionInput;
}>;
type CreateAssessmentQuestionMutation = {
    __typename?: "PublicMutation";
    createAssessmentQuestion?: {
        __typename?: "AssessmentQuestion";
        id: string;
        correctAnswer: string;
        order: number;
        questionText: string;
        questionType: CoursesAssessmentQuestionTypes;
        image?: {
            __typename: "AudioAttachment";
            duration?: number | null;
            waveformUrl?: string | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "ImageAttachment";
            height?: number | null;
            width?: number | null;
            blurhash?: string | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "OtherAttachment";
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "VideoAttachment";
            height?: number | null;
            width?: number | null;
            duration?: number | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            preview: {
                __typename?: "AttachmentSource";
                url: string;
            };
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | null;
        options: Array<{
            __typename?: "AssessmentQuestionOption";
            id: string;
            isCorrect: boolean;
            optionText: string;
            order: number;
        }>;
    } | null;
};
type CreateChapterMutationVariables = Exact<{
    input: CreateChapterInput;
}>;
type CreateChapterMutation = {
    __typename?: "PublicMutation";
    createChapter?: {
        __typename?: "Chapter";
        id: string;
        title: string;
        order: number;
        lessons: Array<{
            __typename?: "Lesson";
            id: string;
            lessonType: LessonTypes;
            title: string;
            order: number;
            visibility: LessonVisibilities;
            daysFromCourseStartUntilUnlock?: number | null;
            content?: string | null;
            muxAsset?: {
                __typename?: "MuxAsset";
                id: string;
                muxAssetId?: string | null;
                playbackId?: string | null;
                signedPlaybackId?: string | null;
                signedThumbnailPlaybackToken?: string | null;
                signedVideoPlaybackToken?: string | null;
                signedStoryboardPlaybackToken?: string | null;
                durationSeconds?: number | null;
                status: MuxAssetStatuses;
                finishedUploadingAt?: number | null;
            } | null;
        }>;
    } | null;
};
type CreateCourseMutationVariables = Exact<{
    input: CreateCourseInput;
}>;
type CreateCourseMutation = {
    __typename?: "PublicMutation";
    createCourse?: {
        __typename?: "Course";
        certificateAfterCompletionEnabled?: boolean | null;
        coverImage?: string | null;
        description?: string | null;
        id: string;
        language: Languages;
        requireCompletingLessonsInOrder: boolean;
        tagline?: string | null;
        title?: string | null;
        videoProtectionEnabled: boolean;
        chapters: Array<{
            __typename?: "Chapter";
            id: string;
            title: string;
            order: number;
            lessons: Array<{
                __typename?: "Lesson";
                id: string;
                lessonType: LessonTypes;
                title: string;
                order: number;
                visibility: LessonVisibilities;
                daysFromCourseStartUntilUnlock?: number | null;
                content?: string | null;
                muxAsset?: {
                    __typename?: "MuxAsset";
                    id: string;
                    muxAssetId?: string | null;
                    playbackId?: string | null;
                    signedPlaybackId?: string | null;
                    signedThumbnailPlaybackToken?: string | null;
                    signedVideoPlaybackToken?: string | null;
                    signedStoryboardPlaybackToken?: string | null;
                    durationSeconds?: number | null;
                    status: MuxAssetStatuses;
                    finishedUploadingAt?: number | null;
                } | null;
            }>;
        }>;
    } | null;
};
type CreateLessonMutationVariables = Exact<{
    input: CreateLessonInput;
}>;
type CreateLessonMutation = {
    __typename?: "PublicMutation";
    createLesson?: {
        __typename?: "Lesson";
        id: string;
        lessonType: LessonTypes;
        title: string;
        order: number;
        visibility: LessonVisibilities;
        content?: string | null;
        daysFromCourseStartUntilUnlock?: number | null;
        muxAsset?: {
            __typename?: "MuxAsset";
            id: string;
            muxAssetId?: string | null;
            playbackId?: string | null;
            signedPlaybackId?: string | null;
            signedThumbnailPlaybackToken?: string | null;
            signedVideoPlaybackToken?: string | null;
            signedStoryboardPlaybackToken?: string | null;
            durationSeconds?: number | null;
            status: MuxAssetStatuses;
            finishedUploadingAt?: number | null;
        } | null;
        assessmentQuestions: Array<{
            __typename?: "AssessmentQuestion";
            id: string;
            correctAnswer: string;
            order: number;
            questionText: string;
            questionType: CoursesAssessmentQuestionTypes;
            image?: {
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null;
            options: Array<{
                __typename?: "AssessmentQuestionOption";
                id: string;
                isCorrect: boolean;
                optionText: string;
                order: number;
            }>;
        }>;
        attachments: {
            __typename?: "AttachmentInterfaceConnection";
            nodes?: Array<{
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null> | null;
        };
        mainPdf?: {
            __typename: "AudioAttachment";
            duration?: number | null;
            waveformUrl?: string | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "ImageAttachment";
            height?: number | null;
            width?: number | null;
            blurhash?: string | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "OtherAttachment";
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "VideoAttachment";
            height?: number | null;
            width?: number | null;
            duration?: number | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            preview: {
                __typename?: "AttachmentSource";
                url: string;
            };
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | null;
    } | null;
};
type DeleteAssessmentQuestionImageMutationVariables = Exact<{
    input: DeleteAssessmentQuestionImageInput;
}>;
type DeleteAssessmentQuestionImageMutation = {
    __typename?: "PublicMutation";
    deleteAssessmentQuestionImage?: boolean | null;
};
type DeleteChapterMutationVariables = Exact<{
    input: DeleteChapterInput;
}>;
type DeleteChapterMutation = {
    __typename?: "PublicMutation";
    deleteChapter?: boolean | null;
};
type DeleteLessonAttachmentMutationVariables = Exact<{
    input: DeleteLessonAttachmentInput;
}>;
type DeleteLessonAttachmentMutation = {
    __typename?: "PublicMutation";
    deleteLessonAttachment?: boolean | null;
};
type DeleteLessonMutationVariables = Exact<{
    input: DeleteLessonInput;
}>;
type DeleteLessonMutation = {
    __typename?: "PublicMutation";
    deleteLesson?: boolean | null;
};
type GetCourseQueryVariables = Exact<{
    courseId: Scalars["ID"]["input"];
}>;
type GetCourseQuery = {
    __typename?: "PublicQuery";
    course?: {
        __typename?: "Course";
        certificateAfterCompletionEnabled?: boolean | null;
        coverImage?: string | null;
        description?: string | null;
        id: string;
        language: Languages;
        requireCompletingLessonsInOrder: boolean;
        tagline?: string | null;
        title?: string | null;
        videoProtectionEnabled: boolean;
        chapters: Array<{
            __typename?: "Chapter";
            id: string;
            title: string;
            order: number;
            lessons: Array<{
                __typename?: "Lesson";
                id: string;
                lessonType: LessonTypes;
                title: string;
                order: number;
                visibility: LessonVisibilities;
                daysFromCourseStartUntilUnlock?: number | null;
                content?: string | null;
                muxAsset?: {
                    __typename?: "MuxAsset";
                    id: string;
                    muxAssetId?: string | null;
                    playbackId?: string | null;
                    signedPlaybackId?: string | null;
                    signedThumbnailPlaybackToken?: string | null;
                    signedVideoPlaybackToken?: string | null;
                    signedStoryboardPlaybackToken?: string | null;
                    durationSeconds?: number | null;
                    status: MuxAssetStatuses;
                    finishedUploadingAt?: number | null;
                } | null;
            }>;
        }>;
    } | null;
};
type GetLessonQueryVariables = Exact<{
    courseId: Scalars["ID"]["input"];
    lessonId: Scalars["ID"]["input"];
}>;
type GetLessonQuery = {
    __typename?: "PublicQuery";
    course?: {
        __typename?: "Course";
        lesson?: {
            __typename?: "Lesson";
            id: string;
            lessonType: LessonTypes;
            title: string;
            order: number;
            visibility: LessonVisibilities;
            content?: string | null;
            daysFromCourseStartUntilUnlock?: number | null;
            muxAsset?: {
                __typename?: "MuxAsset";
                id: string;
                muxAssetId?: string | null;
                playbackId?: string | null;
                signedPlaybackId?: string | null;
                signedThumbnailPlaybackToken?: string | null;
                signedVideoPlaybackToken?: string | null;
                signedStoryboardPlaybackToken?: string | null;
                durationSeconds?: number | null;
                status: MuxAssetStatuses;
                finishedUploadingAt?: number | null;
            } | null;
            assessmentQuestions: Array<{
                __typename?: "AssessmentQuestion";
                id: string;
                correctAnswer: string;
                order: number;
                questionText: string;
                questionType: CoursesAssessmentQuestionTypes;
                image?: {
                    __typename: "AudioAttachment";
                    duration?: number | null;
                    waveformUrl?: string | null;
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename: "ImageAttachment";
                    height?: number | null;
                    width?: number | null;
                    blurhash?: string | null;
                    aspectRatio?: number | null;
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename: "OtherAttachment";
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename: "VideoAttachment";
                    height?: number | null;
                    width?: number | null;
                    duration?: number | null;
                    aspectRatio?: number | null;
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    preview: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | null;
                options: Array<{
                    __typename?: "AssessmentQuestionOption";
                    id: string;
                    isCorrect: boolean;
                    optionText: string;
                    order: number;
                }>;
            }>;
            attachments: {
                __typename?: "AttachmentInterfaceConnection";
                nodes?: Array<{
                    __typename: "AudioAttachment";
                    duration?: number | null;
                    waveformUrl?: string | null;
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename: "ImageAttachment";
                    height?: number | null;
                    width?: number | null;
                    blurhash?: string | null;
                    aspectRatio?: number | null;
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename: "OtherAttachment";
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | {
                    __typename: "VideoAttachment";
                    height?: number | null;
                    width?: number | null;
                    duration?: number | null;
                    aspectRatio?: number | null;
                    id: string;
                    signedId?: string | null;
                    analyzed: boolean;
                    byteSizeV2?: string | null;
                    filename?: string | null;
                    contentType?: string | null;
                    preview: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                    source: {
                        __typename?: "AttachmentSource";
                        url: string;
                    };
                } | null> | null;
            };
            mainPdf?: {
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null;
        } | null;
    } | null;
};
type GetUserLessonInteractionsQueryVariables = Exact<{
    courseId: Scalars["ID"]["input"];
}>;
type GetUserLessonInteractionsQuery = {
    __typename?: "PublicQuery";
    course?: {
        __typename?: "Course";
        chapters: Array<{
            __typename?: "Chapter";
            id: string;
            lessons: Array<{
                __typename?: "Lesson";
                id: string;
                lessonInteraction?: {
                    __typename?: "LessonInteraction";
                    id: string;
                    completed: boolean;
                    createdAt: number;
                } | null;
            }>;
        }>;
    } | null;
};
type ListCoursesForCompanyQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
    first?: InputMaybe<Scalars["Int"]["input"]>;
    after?: InputMaybe<Scalars["String"]["input"]>;
}>;
type ListCoursesForCompanyQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        courses: {
            __typename?: "CourseConnection";
            totalCount: number;
            nodes?: Array<{
                __typename?: "Course";
                id: string;
                title?: string | null;
                coverImage?: string | null;
                experience: {
                    __typename?: "PublicExperience";
                    id: string;
                    accessPasses: Array<{
                        __typename?: "PublicAccessPass";
                        id: string;
                        title: string;
                    }>;
                };
            } | null> | null;
            pageInfo: {
                __typename?: "PageInfo";
                hasNextPage: boolean;
                endCursor?: string | null;
            };
        };
    } | null;
};
type ListCoursesForExperienceQueryVariables = Exact<{
    experienceId: Scalars["ID"]["input"];
    first?: InputMaybe<Scalars["Int"]["input"]>;
    after?: InputMaybe<Scalars["String"]["input"]>;
}>;
type ListCoursesForExperienceQuery = {
    __typename?: "PublicQuery";
    publicExperience: {
        __typename?: "PublicExperience";
        courses: {
            __typename?: "CourseConnection";
            totalCount: number;
            nodes?: Array<{
                __typename?: "Course";
                certificateAfterCompletionEnabled?: boolean | null;
                coverImage?: string | null;
                description?: string | null;
                id: string;
                language: Languages;
                requireCompletingLessonsInOrder: boolean;
                tagline?: string | null;
                title?: string | null;
                videoProtectionEnabled: boolean;
                chapters: Array<{
                    __typename?: "Chapter";
                    id: string;
                    title: string;
                    order: number;
                    lessons: Array<{
                        __typename?: "Lesson";
                        id: string;
                        lessonType: LessonTypes;
                        title: string;
                        order: number;
                        visibility: LessonVisibilities;
                        daysFromCourseStartUntilUnlock?: number | null;
                        content?: string | null;
                        muxAsset?: {
                            __typename?: "MuxAsset";
                            id: string;
                            muxAssetId?: string | null;
                            playbackId?: string | null;
                            signedPlaybackId?: string | null;
                            signedThumbnailPlaybackToken?: string | null;
                            signedVideoPlaybackToken?: string | null;
                            signedStoryboardPlaybackToken?: string | null;
                            durationSeconds?: number | null;
                            status: MuxAssetStatuses;
                            finishedUploadingAt?: number | null;
                        } | null;
                    }>;
                }>;
            } | null> | null;
            pageInfo: {
                __typename?: "PageInfo";
                hasNextPage: boolean;
                endCursor?: string | null;
            };
        };
    };
};
type MarkLessonAsCompletedMutationVariables = Exact<{
    input: MarkLessonAsCompletedInput;
}>;
type MarkLessonAsCompletedMutation = {
    __typename?: "PublicMutation";
    markLessonAsCompleted?: boolean | null;
};
type MoveCourseMutationVariables = Exact<{
    input: MoveCourseInput;
}>;
type MoveCourseMutation = {
    __typename?: "PublicMutation";
    moveCourse?: boolean | null;
};
type UpdateChapterOrderMutationVariables = Exact<{
    input: UpdateChapterOrderInput;
}>;
type UpdateChapterOrderMutation = {
    __typename?: "PublicMutation";
    updateChapterOrder?: {
        __typename?: "Chapter";
        id: string;
        title: string;
        order: number;
        lessons: Array<{
            __typename?: "Lesson";
            id: string;
            lessonType: LessonTypes;
            title: string;
            order: number;
            visibility: LessonVisibilities;
            daysFromCourseStartUntilUnlock?: number | null;
            content?: string | null;
            muxAsset?: {
                __typename?: "MuxAsset";
                id: string;
                muxAssetId?: string | null;
                playbackId?: string | null;
                signedPlaybackId?: string | null;
                signedThumbnailPlaybackToken?: string | null;
                signedVideoPlaybackToken?: string | null;
                signedStoryboardPlaybackToken?: string | null;
                durationSeconds?: number | null;
                status: MuxAssetStatuses;
                finishedUploadingAt?: number | null;
            } | null;
        }>;
    } | null;
};
type UpdateChapterMutationVariables = Exact<{
    input: UpdateChapterInput;
}>;
type UpdateChapterMutation = {
    __typename?: "PublicMutation";
    updateChapter?: {
        __typename?: "Chapter";
        id: string;
        title: string;
        order: number;
        lessons: Array<{
            __typename?: "Lesson";
            id: string;
            lessonType: LessonTypes;
            title: string;
            order: number;
            visibility: LessonVisibilities;
            daysFromCourseStartUntilUnlock?: number | null;
            content?: string | null;
            muxAsset?: {
                __typename?: "MuxAsset";
                id: string;
                muxAssetId?: string | null;
                playbackId?: string | null;
                signedPlaybackId?: string | null;
                signedThumbnailPlaybackToken?: string | null;
                signedVideoPlaybackToken?: string | null;
                signedStoryboardPlaybackToken?: string | null;
                durationSeconds?: number | null;
                status: MuxAssetStatuses;
                finishedUploadingAt?: number | null;
            } | null;
        }>;
    } | null;
};
type UpdateLessonOrderMutationVariables = Exact<{
    input: UpdateLessonOrderInput;
}>;
type UpdateLessonOrderMutation = {
    __typename?: "PublicMutation";
    updateLessonOrder?: {
        __typename?: "Lesson";
        id: string;
        lessonType: LessonTypes;
        title: string;
        order: number;
        visibility: LessonVisibilities;
        content?: string | null;
        daysFromCourseStartUntilUnlock?: number | null;
        muxAsset?: {
            __typename?: "MuxAsset";
            id: string;
            muxAssetId?: string | null;
            playbackId?: string | null;
            signedPlaybackId?: string | null;
            signedThumbnailPlaybackToken?: string | null;
            signedVideoPlaybackToken?: string | null;
            signedStoryboardPlaybackToken?: string | null;
            durationSeconds?: number | null;
            status: MuxAssetStatuses;
            finishedUploadingAt?: number | null;
        } | null;
        assessmentQuestions: Array<{
            __typename?: "AssessmentQuestion";
            id: string;
            correctAnswer: string;
            order: number;
            questionText: string;
            questionType: CoursesAssessmentQuestionTypes;
            image?: {
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null;
            options: Array<{
                __typename?: "AssessmentQuestionOption";
                id: string;
                isCorrect: boolean;
                optionText: string;
                order: number;
            }>;
        }>;
        attachments: {
            __typename?: "AttachmentInterfaceConnection";
            nodes?: Array<{
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null> | null;
        };
        mainPdf?: {
            __typename: "AudioAttachment";
            duration?: number | null;
            waveformUrl?: string | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "ImageAttachment";
            height?: number | null;
            width?: number | null;
            blurhash?: string | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "OtherAttachment";
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "VideoAttachment";
            height?: number | null;
            width?: number | null;
            duration?: number | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            preview: {
                __typename?: "AttachmentSource";
                url: string;
            };
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | null;
    } | null;
};
type UpdateLessonMutationVariables = Exact<{
    input: UpdateLessonInput;
}>;
type UpdateLessonMutation = {
    __typename?: "PublicMutation";
    updateLesson?: {
        __typename?: "Lesson";
        id: string;
        lessonType: LessonTypes;
        title: string;
        order: number;
        visibility: LessonVisibilities;
        content?: string | null;
        daysFromCourseStartUntilUnlock?: number | null;
        muxAsset?: {
            __typename?: "MuxAsset";
            id: string;
            muxAssetId?: string | null;
            playbackId?: string | null;
            signedPlaybackId?: string | null;
            signedThumbnailPlaybackToken?: string | null;
            signedVideoPlaybackToken?: string | null;
            signedStoryboardPlaybackToken?: string | null;
            durationSeconds?: number | null;
            status: MuxAssetStatuses;
            finishedUploadingAt?: number | null;
        } | null;
        assessmentQuestions: Array<{
            __typename?: "AssessmentQuestion";
            id: string;
            correctAnswer: string;
            order: number;
            questionText: string;
            questionType: CoursesAssessmentQuestionTypes;
            image?: {
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null;
            options: Array<{
                __typename?: "AssessmentQuestionOption";
                id: string;
                isCorrect: boolean;
                optionText: string;
                order: number;
            }>;
        }>;
        attachments: {
            __typename?: "AttachmentInterfaceConnection";
            nodes?: Array<{
                __typename: "AudioAttachment";
                duration?: number | null;
                waveformUrl?: string | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "ImageAttachment";
                height?: number | null;
                width?: number | null;
                blurhash?: string | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "OtherAttachment";
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | {
                __typename: "VideoAttachment";
                height?: number | null;
                width?: number | null;
                duration?: number | null;
                aspectRatio?: number | null;
                id: string;
                signedId?: string | null;
                analyzed: boolean;
                byteSizeV2?: string | null;
                filename?: string | null;
                contentType?: string | null;
                preview: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
                source: {
                    __typename?: "AttachmentSource";
                    url: string;
                };
            } | null> | null;
        };
        mainPdf?: {
            __typename: "AudioAttachment";
            duration?: number | null;
            waveformUrl?: string | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "ImageAttachment";
            height?: number | null;
            width?: number | null;
            blurhash?: string | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "OtherAttachment";
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | {
            __typename: "VideoAttachment";
            height?: number | null;
            width?: number | null;
            duration?: number | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            preview: {
                __typename?: "AttachmentSource";
                url: string;
            };
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } | null;
    } | null;
};
type GetExperienceQueryVariables = Exact<{
    experienceId: Scalars["ID"]["input"];
}>;
type GetExperienceQuery = {
    __typename?: "PublicQuery";
    experience: {
        __typename?: "PublicExperience";
        upsellType?: UpsellTypes | null;
        id: string;
        name: string;
        description?: string | null;
        upsellPlan?: {
            __typename?: "PublicPlan";
            id: string;
            baseCurrency: Currencies;
            rawRenewalPrice: number;
            rawInitialPrice: number;
            initialPriceDue: number;
            createdAt: number;
            updatedAt: number;
            billingPeriod?: number | null;
            trialPeriodDays?: number | null;
            expirationDays?: number | null;
            unlimitedStock: boolean;
            paymentLinkDescription?: string | null;
            releaseMethod: ReleaseMethod;
            stock?: number | null;
            visibility: Visibility;
            planType: PlanTypes;
        } | null;
        logo?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
        app: {
            __typename?: "PublicApp";
            id: string;
            name: string;
            icon?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
        };
        company: {
            __typename?: "PublicCompany";
            id: string;
            title: string;
            route: string;
            logo?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
            bannerImage?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
        };
    };
};
type ListAccessPassesForExperienceQueryVariables = Exact<{
    experienceId: Scalars["ID"]["input"];
}>;
type ListAccessPassesForExperienceQuery = {
    __typename?: "PublicQuery";
    experience: {
        __typename?: "PublicExperience";
        experienceId: string;
        accessPasses: Array<{
            __typename?: "PublicAccessPass";
            id: string;
            title: string;
            shortenedDescription?: string | null;
            verified: boolean;
            visibility: Visibility;
            route: string;
            activeUsersCount: number;
            logo?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
        }>;
    };
};
type ListExperiencesQueryVariables = Exact<{
    after?: InputMaybe<Scalars["String"]["input"]>;
    first?: InputMaybe<Scalars["Int"]["input"]>;
    accessPassId?: InputMaybe<Scalars["ID"]["input"]>;
    appId?: InputMaybe<Scalars["ID"]["input"]>;
    onAccessPass?: InputMaybe<Scalars["Boolean"]["input"]>;
    companyId: Scalars["ID"]["input"];
}>;
type ListExperiencesQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        experiencesV2: {
            __typename?: "ExperienceInterfaceConnection";
            totalCount: number;
            nodes?: Array<{
                __typename?: "CustomPrivate";
                id: string;
                name?: string | null;
                description?: string | null;
                logo?: {
                    __typename?: "ImgSrcset";
                    sourceUrl: string;
                } | null;
                app: {
                    __typename?: "PublicApp";
                    id: string;
                    name: string;
                    icon?: {
                        __typename?: "AudioAttachment";
                        sourceUrl?: string | null;
                    } | {
                        __typename?: "ImageAttachment";
                        sourceUrl?: string | null;
                    } | {
                        __typename?: "OtherAttachment";
                        sourceUrl?: string | null;
                    } | {
                        __typename?: "VideoAttachment";
                        sourceUrl?: string | null;
                    } | null;
                };
            } | null> | null;
            pageInfo: {
                __typename?: "PageInfo";
                hasNextPage: boolean;
                endCursor?: string | null;
            };
        };
    } | null;
};
type ListUsersForExperienceQueryVariables = Exact<{
    experienceId: Scalars["ID"]["input"];
    after?: InputMaybe<Scalars["String"]["input"]>;
    before?: InputMaybe<Scalars["String"]["input"]>;
    direction?: InputMaybe<Direction>;
    first?: InputMaybe<Scalars["Int"]["input"]>;
    searchQuery?: InputMaybe<Scalars["String"]["input"]>;
}>;
type ListUsersForExperienceQuery = {
    __typename?: "PublicQuery";
    publicExperience: {
        __typename?: "PublicExperience";
        users?: {
            __typename?: "PublicProfileUserConnection";
            totalCount: number;
            nodes?: Array<{
                __typename?: "PublicProfileUser";
                id: string;
                username: string;
                profilePicture?: {
                    __typename?: "AudioAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "ImageAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "OtherAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "VideoAttachment";
                    sourceUrl?: string | null;
                } | null;
            } | null> | null;
            pageInfo: {
                __typename?: "PageInfo";
                endCursor?: string | null;
                hasNextPage: boolean;
                hasPreviousPage: boolean;
            };
        } | null;
    };
};
type CreateForumPostMutationVariables = Exact<{
    input: CreateForumPostInput;
}>;
type CreateForumPostMutation = {
    __typename?: "PublicMutation";
    createForumPost?: {
        __typename?: "ForumPost";
        id: string;
        createdAt: string;
        updatedAt: string;
        content?: string | null;
        richContent?: string | null;
        isDeleted: boolean;
        isEdited: boolean;
        mentionedUserIds: Array<string>;
        parentId?: string | null;
        viewCount?: number | null;
        isPinned: boolean;
        attachments: Array<{
            __typename?: "AudioAttachment";
            id: string;
            contentType?: string | null;
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            id: string;
            contentType?: string | null;
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            id: string;
            contentType?: string | null;
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            id: string;
            contentType?: string | null;
            sourceUrl?: string | null;
        }>;
        user: {
            __typename?: "PublicProfileUser";
            id: string;
            name?: string | null;
            username: string;
            phoneVerified: boolean;
            city?: string | null;
            country?: string | null;
            profilePicture?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
        };
    } | null;
};
type FindOrCreateForumMutationVariables = Exact<{
    input: CreateForumInput;
}>;
type FindOrCreateForumMutation = {
    __typename?: "PublicMutation";
    createForum?: {
        __typename?: "Experience";
        id: string;
        link: string;
    } | null;
};
type ListForumPostsFromForumQueryVariables = Exact<{
    experienceId: Scalars["ID"]["input"];
}>;
type ListForumPostsFromForumQuery = {
    __typename?: "PublicQuery";
    feedPosts?: {
        __typename?: "FeedPostsResponse";
        posts: Array<{
            __typename?: "ChatFeed";
        } | {
            __typename?: "DmsFeed";
        } | {
            __typename?: "DmsFeedMember";
        } | {
            __typename?: "DmsPost";
        } | {
            __typename?: "ForumFeed";
        } | {
            __typename?: "ForumPost";
            id: string;
            createdAt: string;
            updatedAt: string;
            content?: string | null;
            richContent?: string | null;
            isDeleted: boolean;
            isEdited: boolean;
            mentionedUserIds: Array<string>;
            parentId?: string | null;
            viewCount?: number | null;
            isPinned: boolean;
            attachments: Array<{
                __typename?: "AudioAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            }>;
            user: {
                __typename?: "PublicProfileUser";
                id: string;
                name?: string | null;
                username: string;
                phoneVerified: boolean;
                city?: string | null;
                country?: string | null;
                profilePicture?: {
                    __typename?: "AudioAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "ImageAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "OtherAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "VideoAttachment";
                    sourceUrl?: string | null;
                } | null;
            };
        } | {
            __typename?: "LivestreamFeed";
        } | {
            __typename?: "MutedUser";
        } | {
            __typename?: "PublicLivestreamFeed";
        } | {
            __typename?: "Reaction";
        } | {
            __typename?: "ReactionCount";
        }>;
    } | null;
};
type CreateInvoiceMutationVariables = Exact<{
    input: CreateInvoiceInput;
}>;
type CreateInvoiceMutation = {
    __typename?: "PublicMutation";
    createInvoice?: {
        __typename?: "CreateInvoicePayload";
        checkoutJobId?: string | null;
        invoice?: {
            __typename?: "Invoice";
            id: string;
            createdAt: number;
            status: InvoiceStatuses;
            number: string;
            dueDate?: number | null;
            emailAddress?: string | null;
            fetchInvoiceToken: string;
            currentPlan: {
                __typename?: "Plan";
                id: string;
                formattedPrice: string;
                baseCurrency: Currencies;
            };
            member?: {
                __typename?: "Member";
                id: string;
                email?: string | null;
                name?: string | null;
                username?: string | null;
            } | null;
        } | null;
    } | null;
};
type GetInvoiceQueryVariables = Exact<{
    invoiceId: Scalars["ID"]["input"];
    companyId: Scalars["ID"]["input"];
}>;
type GetInvoiceQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        invoice: {
            __typename?: "Invoice";
            id: string;
            createdAt: number;
            status: InvoiceStatuses;
            number: string;
            dueDate?: number | null;
            emailAddress?: string | null;
            fetchInvoiceToken: string;
            currentPlan: {
                __typename?: "Plan";
                id: string;
                formattedPrice: string;
                baseCurrency: Currencies;
            };
            member?: {
                __typename?: "Member";
                id: string;
                email?: string | null;
                name?: string | null;
                username?: string | null;
            } | null;
        };
    } | null;
};
type ListInvoicesQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
    after?: InputMaybe<Scalars["String"]["input"]>;
    before?: InputMaybe<Scalars["String"]["input"]>;
    first?: InputMaybe<Scalars["Int"]["input"]>;
    last?: InputMaybe<Scalars["Int"]["input"]>;
}>;
type ListInvoicesQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        invoices: {
            __typename?: "InvoiceConnection";
            totalCount: number;
            pageInfo: {
                __typename?: "PageInfo";
                endCursor?: string | null;
                hasNextPage: boolean;
                hasPreviousPage: boolean;
                startCursor?: string | null;
            };
            nodes?: Array<{
                __typename?: "Invoice";
                id: string;
                createdAt: number;
                status: InvoiceStatuses;
                number: string;
                dueDate?: number | null;
                emailAddress?: string | null;
                fetchInvoiceToken: string;
                currentPlan: {
                    __typename?: "Plan";
                    id: string;
                    formattedPrice: string;
                    baseCurrency: Currencies;
                };
                member?: {
                    __typename?: "Member";
                    id: string;
                    email?: string | null;
                    name?: string | null;
                    username?: string | null;
                } | null;
            } | null> | null;
        };
    } | null;
};
type FindOrCreateChatMutationVariables = Exact<{
    input: CreateChatInput;
}>;
type FindOrCreateChatMutation = {
    __typename?: "PublicMutation";
    createChat?: {
        __typename?: "Experience";
        id: string;
        link: string;
    } | null;
};
type ListDirectMessageConversationsQueryVariables = Exact<{
    beforeTimestamp?: InputMaybe<Scalars["BigInt"]["input"]>;
    limit?: InputMaybe<Scalars["Int"]["input"]>;
    query?: InputMaybe<Scalars["String"]["input"]>;
    status?: InputMaybe<DmsFeedMemberStatuses>;
    unread?: InputMaybe<Scalars["Boolean"]["input"]>;
}>;
type ListDirectMessageConversationsQuery = {
    __typename?: "PublicQuery";
    myDmsChannelsV2: Array<{
        __typename?: "DmsChannel";
        createdAt: number;
        id: string;
        isPinned: boolean;
        customName?: string | null;
        isGroupChat: boolean;
        isUnread: boolean;
        feedMembers: Array<{
            __typename?: "FeedMember";
            username: string;
            id: string;
        }>;
        lastMessage?: {
            __typename?: "Post";
            content?: string | null;
            userId: string;
        } | null;
    }>;
};
type ListMessagesFromChatQueryVariables = Exact<{
    chatExperienceId?: InputMaybe<Scalars["ID"]["input"]>;
}>;
type ListMessagesFromChatQuery = {
    __typename?: "PublicQuery";
    feedPosts?: {
        __typename?: "FeedPostsResponse";
        posts: Array<{
            __typename?: "ChatFeed";
        } | {
            __typename?: "DmsFeed";
        } | {
            __typename?: "DmsFeedMember";
        } | {
            __typename?: "DmsPost";
            id: string;
            createdAt: string;
            updatedAt: string;
            content?: string | null;
            richContent?: string | null;
            isDeleted: boolean;
            isEdited: boolean;
            isPinned: boolean;
            isEveryoneMentioned: boolean;
            mentionedUserIds: Array<string>;
            messageType: DmsPostTypes;
            replyingToPostId?: string | null;
            viewCount?: number | null;
            attachments: Array<{
                __typename?: "AudioAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                id: string;
                contentType?: string | null;
                sourceUrl?: string | null;
            }>;
            user: {
                __typename?: "PublicProfileUser";
                id: string;
                name?: string | null;
                username: string;
                phoneVerified: boolean;
                city?: string | null;
                country?: string | null;
                profilePicture?: {
                    __typename?: "AudioAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "ImageAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "OtherAttachment";
                    sourceUrl?: string | null;
                } | {
                    __typename?: "VideoAttachment";
                    sourceUrl?: string | null;
                } | null;
            };
        } | {
            __typename?: "ForumFeed";
        } | {
            __typename?: "ForumPost";
        } | {
            __typename?: "LivestreamFeed";
        } | {
            __typename?: "MutedUser";
        } | {
            __typename?: "PublicLivestreamFeed";
        } | {
            __typename?: "Reaction";
        } | {
            __typename?: "ReactionCount";
        }>;
    } | null;
};
type SendDirectMessageToUserMutationVariables = Exact<{
    toUserIdOrUsername: Scalars["ID"]["input"];
    message: Scalars["String"]["input"];
    attachments?: InputMaybe<Array<AttachmentInput> | AttachmentInput>;
}>;
type SendDirectMessageToUserMutation = {
    __typename?: "PublicMutation";
    sendMessage?: string | null;
};
type SendMessageToChatMutationVariables = Exact<{
    experienceId: Scalars["ID"]["input"];
    message: Scalars["String"]["input"];
    attachments?: InputMaybe<Array<AttachmentInput> | AttachmentInput>;
}>;
type SendMessageToChatMutation = {
    __typename?: "PublicMutation";
    sendMessage?: string | null;
};
type SendPushNotificationMutationVariables = Exact<{
    input: SendNotificationInput;
}>;
type SendPushNotificationMutation = {
    __typename?: "PublicMutation";
    sendNotification?: boolean | null;
};
type ChargeUserMutationVariables = Exact<{
    input: ChargeUserInput;
}>;
type ChargeUserMutation = {
    __typename?: "PublicMutation";
    chargeUser?: {
        __typename?: "ChargeUserResponse";
        status: ChargeUserResponseStatus;
        inAppPurchase?: {
            __typename?: "CheckoutSession";
            id: string;
            planId: string;
        } | null;
    } | null;
};
type CreateCheckoutSessionMutationVariables = Exact<{
    input: CreateCheckoutSessionInput;
}>;
type CreateCheckoutSessionMutation = {
    __typename?: "PublicMutation";
    createCheckoutSession?: {
        __typename?: "CheckoutSession";
        id: string;
        planId: string;
    } | null;
};
type ListReceiptsForCompanyQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
    first?: InputMaybe<Scalars["Int"]["input"]>;
    after?: InputMaybe<Scalars["String"]["input"]>;
    filter?: InputMaybe<ReceiptV2Filters>;
}>;
type ListReceiptsForCompanyQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        receipts?: {
            __typename?: "ReceiptConnection";
            nodes?: Array<{
                __typename?: "Receipt";
                id: string;
                settledUsdAmount?: number | null;
                billingReason?: string | null;
                last4?: string | null;
                currency?: Currencies | null;
                status?: ReceiptStatus | null;
                createdAt: number;
                total?: number | null;
                brand?: string | null;
                paymentProcessor?: ReceiptPaymentProcessor | null;
                paymentMethodType?: string | null;
                disputeAlertedAt?: number | null;
                finalAmount: number;
                presentedFinalAmount?: number | null;
                presentedSettledUsdAmount?: number | null;
                refundedAmount?: number | null;
                friendlyStatus: FriendlyReceiptStatus;
                failureMessage?: string | null;
                refundable: boolean;
                retryable: boolean;
                paidAt?: number | null;
                amountAfterFees: number;
                chargeSkippedPriceTooLow: boolean;
                lastPaymentAttempt?: number | null;
                autoRefunded: boolean;
                totalUsdAmount?: number | null;
                mostRecentRiskScore?: number | null;
                address?: {
                    __typename?: "Address";
                    name?: string | null;
                    line1?: string | null;
                    line2?: string | null;
                    city?: string | null;
                    state?: string | null;
                    postalCode?: string | null;
                    country?: string | null;
                } | null;
                member?: {
                    __typename?: "CompanyMember";
                    header: string;
                    user?: {
                        __typename?: "CompanyMemberUser";
                        id: string;
                        username: string;
                        name?: string | null;
                        email?: string | null;
                        country?: string | null;
                        countryName?: string | null;
                    } | null;
                    imageSrcset: {
                        __typename?: "ImgSrcset";
                        original: string;
                        double: string;
                        isVideo: boolean;
                    };
                } | null;
                plan?: {
                    __typename?: "Plan";
                    id: string;
                    title: string;
                    formattedPrice: string;
                    initialPrice: number;
                    renewalPrice: number;
                    paymentLinkDescription?: string | null;
                } | null;
                membership?: {
                    __typename?: "Membership";
                    id: string;
                    status: MembershipStatus;
                } | null;
                promoCode?: {
                    __typename?: "PromoCode";
                    id: string;
                    code?: string | null;
                    amountOff: number;
                    baseCurrency: Currencies;
                    promoType: PromoTypes;
                    numberOfIntervals?: number | null;
                } | null;
                accessPass?: {
                    __typename?: "AccessPass";
                    id: string;
                    title: string;
                } | null;
            } | null> | null;
            pageInfo: {
                __typename?: "PageInfo";
                hasNextPage: boolean;
                endCursor?: string | null;
            };
        } | null;
    } | null;
};
type PayUserMutationVariables = Exact<{
    input: TransferFundsInput;
}>;
type PayUserMutation = {
    __typename?: "PublicMutation";
    transferFunds?: boolean | null;
};
type CreatePromoCodeMutationVariables = Exact<{
    input: CreatePromoCodeInput;
}>;
type CreatePromoCodeMutation = {
    __typename?: "PublicMutation";
    createPromoCode?: {
        __typename?: "PromoCode";
        id: string;
        code?: string | null;
        promoType: PromoTypes;
        duration?: PromoDurations | null;
        createdAt: number;
        expirationDatetime?: number | null;
        baseCurrency: Currencies;
        amountOff: number;
        discountOff: string;
        existingMembershipsOnly: boolean;
        numberOfIntervals?: number | null;
        status: PromoCodeStatus;
        stock: number;
        unlimitedStock: boolean;
        uses: number;
        onePerCustomer: boolean;
        churnedUsersOnly: boolean;
        newUsersOnly: boolean;
        accessPass?: {
            __typename?: "AccessPass";
            id: string;
            title: string;
        } | null;
    } | null;
};
type DeletePromoCodeMutationVariables = Exact<{
    input: DeletePromoCodeInput;
}>;
type DeletePromoCodeMutation = {
    __typename?: "PublicMutation";
    deletePromoCode?: boolean | null;
};
type GetPromoCodeQueryVariables = Exact<{
    code: Scalars["String"]["input"];
    planId: Scalars["ID"]["input"];
}>;
type GetPromoCodeQuery = {
    __typename?: "PublicQuery";
    promoCode: {
        __typename?: "PublicPromoCode";
        id: string;
        code: string;
        createdAt: number;
        promoType: PromoTypes;
        baseCurrency: Currencies;
        duration: PromoDurations;
        amountOff: number;
        discountOff: string;
        existingMembershipsOnly: boolean;
        numberOfIntervals: number;
        isPopupPromo: boolean;
    };
};
type ListPromoCodesQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
    after?: InputMaybe<Scalars["String"]["input"]>;
    before?: InputMaybe<Scalars["String"]["input"]>;
    first?: InputMaybe<Scalars["Int"]["input"]>;
    last?: InputMaybe<Scalars["Int"]["input"]>;
    filters?: InputMaybe<PromoCodeFilters>;
}>;
type ListPromoCodesQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        promoCodes: {
            __typename?: "PromoCodeConnection";
            totalCount: number;
            pageInfo: {
                __typename?: "PageInfo";
                startCursor?: string | null;
                hasPreviousPage: boolean;
                hasNextPage: boolean;
                endCursor?: string | null;
            };
            nodes?: Array<{
                __typename?: "PromoCode";
                id: string;
                code?: string | null;
                promoType: PromoTypes;
                duration?: PromoDurations | null;
                createdAt: number;
                expirationDatetime?: number | null;
                baseCurrency: Currencies;
                amountOff: number;
                discountOff: string;
                existingMembershipsOnly: boolean;
                numberOfIntervals?: number | null;
                status: PromoCodeStatus;
                stock: number;
                unlimitedStock: boolean;
                uses: number;
                onePerCustomer: boolean;
                churnedUsersOnly: boolean;
                newUsersOnly: boolean;
                accessPass?: {
                    __typename?: "AccessPass";
                    id: string;
                    title: string;
                } | null;
            } | null> | null;
        };
    } | null;
};
type BanUserMutationVariables = Exact<{
    input: BanUserInput;
}>;
type BanUserMutation = {
    __typename?: "PublicMutation";
    banUser?: boolean | null;
};
type GetCurrentUserQueryVariables = Exact<{
    [key: string]: never;
}>;
type GetCurrentUserQuery = {
    __typename?: "PublicQuery";
    viewer: {
        __typename?: "Viewer";
        user: {
            __typename?: "User";
            bio?: string | null;
            phoneVerified: boolean;
            bannerImage?: string | null;
            createdAt: number;
            dateOfBirthDay?: number | null;
            dateOfBirthMonth?: number | null;
            dateOfBirthYear?: number | null;
            id: string;
            email?: string | null;
            name?: string | null;
            username: string;
            ledgerAccount: {
                __typename?: "LedgerAccount";
                id: string;
                transferFee?: number | null;
                balanceCaches: {
                    __typename?: "BalanceCacheConnection";
                    nodes?: Array<{
                        __typename?: "BalanceCache";
                        balance: number;
                        pendingBalance: number;
                        currency: Currencies;
                    } | null> | null;
                };
            };
            profilePicture?: {
                __typename?: "AudioAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "ImageAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "OtherAttachment";
                sourceUrl?: string | null;
            } | {
                __typename?: "VideoAttachment";
                sourceUrl?: string | null;
            } | null;
        };
    };
};
type GetUserLedgerAccountQueryVariables = Exact<{
    [key: string]: never;
}>;
type GetUserLedgerAccountQuery = {
    __typename?: "PublicQuery";
    viewer: {
        __typename?: "Viewer";
        user: {
            __typename?: "User";
            ledgerAccount: {
                __typename?: "LedgerAccount";
                id: string;
                transferFee?: number | null;
                balanceCaches: {
                    __typename?: "BalanceCacheConnection";
                    nodes?: Array<{
                        __typename?: "BalanceCache";
                        balance: number;
                        pendingBalance: number;
                        currency: Currencies;
                    } | null> | null;
                };
            };
        };
    };
};
type GetUserQueryVariables = Exact<{
    userId: Scalars["ID"]["input"];
}>;
type GetUserQuery = {
    __typename?: "PublicQuery";
    publicUser: {
        __typename?: "PublicProfileUser";
        bio?: string | null;
        phoneVerified: boolean;
        createdAt: number;
        id: string;
        name?: string | null;
        username: string;
        city?: string | null;
        country?: string | null;
        banner?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
        userStat?: {
            __typename?: "UserStat";
            moneyEarned24Hours?: number | null;
            moneyEarned30Days?: number | null;
            moneyEarned7Days?: number | null;
            moneyEarnedLifetime?: number | null;
        } | null;
        profilePicture?: {
            __typename?: "AudioAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "ImageAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "OtherAttachment";
            sourceUrl?: string | null;
        } | {
            __typename?: "VideoAttachment";
            sourceUrl?: string | null;
        } | null;
    };
};
type ListUserSocialsQueryVariables = Exact<{
    userId: Scalars["ID"]["input"];
    after?: InputMaybe<Scalars["String"]["input"]>;
    before?: InputMaybe<Scalars["String"]["input"]>;
    first?: InputMaybe<Scalars["Int"]["input"]>;
    last?: InputMaybe<Scalars["Int"]["input"]>;
}>;
type ListUserSocialsQuery = {
    __typename?: "PublicQuery";
    publicUser: {
        __typename?: "PublicProfileUser";
        socialLinks: {
            __typename?: "UserSocialLinksConnection";
            totalCount: number;
            nodes?: Array<{
                __typename?: "UserSocialLinks";
                id: string;
                profilePic?: string | null;
                url: string;
                username?: string | null;
                website: UserSocialLinkWebsites;
                accountId?: string | null;
                fullName?: string | null;
                verified: boolean;
            } | null> | null;
            pageInfo: {
                __typename?: "PageInfo";
                endCursor?: string | null;
                hasNextPage: boolean;
                hasPreviousPage: boolean;
                startCursor?: string | null;
            };
        };
    };
};
type MuteUserMutationVariables = Exact<{
    input: CreateCompanyMutedUserInput;
}>;
type MuteUserMutation = {
    __typename?: "PublicMutation";
    createCompanyMutedUser?: boolean | null;
};
type UnbanUserMutationVariables = Exact<{
    input: UnbanUserInput;
}>;
type UnbanUserMutation = {
    __typename?: "PublicMutation";
    unbanUser?: boolean | null;
};
type UnmuteUserMutationVariables = Exact<{
    input: DeleteCompanyMutedUserInput;
}>;
type UnmuteUserMutation = {
    __typename?: "PublicMutation";
    deleteCompanyMutedUser?: boolean | null;
};
type CreateWebhookMutationVariables = Exact<{
    input: CreateWebhookInput;
}>;
type CreateWebhookMutation = {
    __typename?: "PublicMutation";
    createWebhook?: {
        __typename?: "Webhook";
        id: string;
        url: string;
        apiVersion: ApiVersion;
        createdAt: number;
        enabled: boolean;
        events: Array<WebhookEvent>;
        resourceId: string;
        webhookSecret: string;
    } | null;
};
type DeleteWebhookMutationVariables = Exact<{
    input: DeleteWebhookInput;
}>;
type DeleteWebhookMutation = {
    __typename?: "PublicMutation";
    deleteWebhook?: boolean | null;
};
type GetWebhookQueryVariables = Exact<{
    webhookId: Scalars["ID"]["input"];
    companyId: Scalars["ID"]["input"];
}>;
type GetWebhookQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        webhook: {
            __typename?: "Webhook";
            id: string;
            url: string;
            apiVersion: ApiVersion;
            createdAt: number;
            enabled: boolean;
            events: Array<WebhookEvent>;
            resourceId: string;
            webhookSecret: string;
        };
    } | null;
};
type ListWebhooksQueryVariables = Exact<{
    companyId: Scalars["ID"]["input"];
}>;
type ListWebhooksQuery = {
    __typename?: "PublicQuery";
    company?: {
        __typename?: "Company";
        webhooks: Array<{
            __typename?: "Webhook";
            id: string;
            url: string;
            apiVersion: ApiVersion;
            createdAt: number;
            enabled: boolean;
            events: Array<WebhookEvent>;
            resourceId: string;
            webhookSecret: string;
        }>;
    } | null;
};
type TestWebhookMutationVariables = Exact<{
    input: TestWebhookV2Input;
}>;
type TestWebhookMutation = {
    __typename?: "PublicMutation";
    testWebhookV2?: {
        __typename?: "WebhookTestResult";
        body: {
            [key: string]: any;
        };
        status: number;
        success: boolean;
    } | null;
};
type UpdateWebhookMutationVariables = Exact<{
    input: UpdateWebhookInput;
}>;
type UpdateWebhookMutation = {
    __typename?: "PublicMutation";
    updateWebhook?: {
        __typename?: "Webhook";
        id: string;
        url: string;
        apiVersion: ApiVersion;
        createdAt: number;
        enabled: boolean;
        events: Array<WebhookEvent>;
        resourceId: string;
        webhookSecret: string;
    } | null;
};
type Requester<C = {}> = <R, V>(operationId: string, operationName: string, operationType: "query" | "mutation", vars?: V, options?: C) => Promise<R>;
type WithError<T> = T extends object ? T & {
    _error?: Error;
} : T;
declare function carryErrors<Full, Extracted>(res: Full, data: Extracted): WithError<Extracted>;
declare function getSdk<C>(requester: Requester<C>): {
    accessPasses: {
        createAccessPass(variables: CreateAccessPassMutationVariables["input"], options?: C): Promise<WithError<CreateAccessPassMutation["createAccessPass"]>>;
        deleteAccessPass(variables: DeleteAccessPassMutationVariables["input"], options?: C): Promise<WithError<DeleteAccessPassMutation["deleteAccessPass"]>>;
        getAccessPass(variables: GetAccessPassQueryVariables, options?: C): Promise<WithError<GetAccessPassQuery["accessPass"]>>;
        updateAccessPass(variables: UpdateAccessPassMutationVariables["input"], options?: C): Promise<WithError<UpdateAccessPassMutation["updateAccessPass"]>>;
    };
    access: {
        checkIfUserHasAccessToAccessPass(variables: CheckIfUserHasAccessToAccessPassQueryVariables, options?: C): Promise<WithError<CheckIfUserHasAccessToAccessPassQuery["hasAccessToAccessPass"]>>;
        checkIfUserHasAccessToCompany(variables: CheckIfUserHasAccessToCompanyQueryVariables, options?: C): Promise<WithError<CheckIfUserHasAccessToCompanyQuery["hasAccessToCompany"]>>;
        checkIfUserHasAccessToExperience(variables: CheckIfUserHasAccessToExperienceQueryVariables, options?: C): Promise<WithError<CheckIfUserHasAccessToExperienceQuery["hasAccessToExperience"]>>;
    };
    affiliates: {
        createAffiliate(variables: CreateAffiliateMutationVariables["input"], options?: C): Promise<WithError<CreateAffiliateMutation["createAffiliate"]>>;
        getAffiliate(variables: GetAffiliateQueryVariables, options?: C): Promise<WithError<GetAffiliateQuery["company"]>>;
        listAffiliates(variables: ListAffiliatesQueryVariables, options?: C): Promise<WithError<ListAffiliatesQuery["company"]>>;
        updateAffiliate(variables: UpdateAffiliateMutationVariables["input"], options?: C): Promise<WithError<UpdateAffiliateMutation["updateAffiliate"]>>;
    };
    apps: {
        createAppBuild(variables: CreateAppBuildMutationVariables["input"], options?: C): Promise<WithError<CreateAppBuildMutation["createAppBuild"]>>;
        createApp(variables: CreateAppMutationVariables["input"], options?: C): Promise<WithError<CreateAppMutation["createApp"]>>;
        getApp(variables: GetAppQueryVariables, options?: C): Promise<WithError<GetAppQuery["company"]>>;
        listApps(variables: ListAppsQueryVariables, options?: C): Promise<WithError<ListAppsQuery["company"]>>;
        promoteAppBuild(variables: PromoteAppBuildMutationVariables["input"], options?: C): Promise<WithError<PromoteAppBuildMutation["promoteAppBuildToProduction"]>>;
        unassignAppBuild(variables: UnassignAppBuildMutationVariables["input"], options?: C): Promise<WithError<UnassignAppBuildMutation["unassignProductionAppBuild"]>>;
        updateAppPermissions(variables: UpdateAppPermissionsMutationVariables["input"], options?: C): Promise<WithError<UpdateAppPermissionsMutation["updateAppPermissionRequirements"]>>;
        updateApp(variables: UpdateAppMutationVariables["input"], options?: C): Promise<WithError<UpdateAppMutation["updateApp"]>>;
    };
    attachments: {
        getAttachment(variables: GetAttachmentQueryVariables, options?: C): Promise<WithError<GetAttachmentQuery["attachment"]>>;
        processAttachment(variables: ProcessAttachmentMutationVariables["input"], options?: C): Promise<WithError<ProcessAttachmentMutation["mediaAnalyzeAttachment"]>>;
        uploadMedia(variables: UploadMediaMutationVariables["input"], options?: C): Promise<WithError<UploadMediaMutation["mediaDirectUpload"]>>;
    };
    companies: {
        getCompanyLedgerAccount(variables: GetCompanyLedgerAccountQueryVariables, options?: C): Promise<WithError<GetCompanyLedgerAccountQuery["company"]>>;
        getCompany(variables: GetCompanyQueryVariables, options?: C): Promise<WithError<GetCompanyQuery["company"]>>;
        getMember(variables: GetMemberQueryVariables, options?: C): Promise<WithError<GetMemberQuery["company"]>>;
        listAccessPasses(variables: ListAccessPassesQueryVariables, options?: C): Promise<WithError<ListAccessPassesQuery["company"]>>;
        listAuthorizedUsers(variables: ListAuthorizedUsersQueryVariables, options?: C): Promise<WithError<ListAuthorizedUsersQuery["company"]>>;
        listMembers(variables: ListMembersQueryVariables, options?: C): Promise<WithError<ListMembersQuery["company"]>>;
        listMemberships(variables: ListMembershipsQueryVariables, options?: C): Promise<WithError<ListMembershipsQuery["company"]>>;
        listPlans(variables: ListPlansQueryVariables, options?: C): Promise<WithError<ListPlansQuery["company"]>>;
        listWaitlistEntries(variables: ListWaitlistEntriesQueryVariables, options?: C): Promise<WithError<ListWaitlistEntriesQuery["company"]>>;
    };
    courses: {
        createAssessmentQuestion(variables: CreateAssessmentQuestionMutationVariables["input"], options?: C): Promise<WithError<CreateAssessmentQuestionMutation["createAssessmentQuestion"]>>;
        createChapter(variables: CreateChapterMutationVariables["input"], options?: C): Promise<WithError<CreateChapterMutation["createChapter"]>>;
        createCourse(variables: CreateCourseMutationVariables["input"], options?: C): Promise<WithError<CreateCourseMutation["createCourse"]>>;
        createLesson(variables: CreateLessonMutationVariables["input"], options?: C): Promise<WithError<CreateLessonMutation["createLesson"]>>;
        deleteAssessmentQuestionImage(variables: DeleteAssessmentQuestionImageMutationVariables["input"], options?: C): Promise<WithError<DeleteAssessmentQuestionImageMutation["deleteAssessmentQuestionImage"]>>;
        deleteChapter(variables: DeleteChapterMutationVariables["input"], options?: C): Promise<WithError<DeleteChapterMutation["deleteChapter"]>>;
        deleteLessonAttachment(variables: DeleteLessonAttachmentMutationVariables["input"], options?: C): Promise<WithError<DeleteLessonAttachmentMutation["deleteLessonAttachment"]>>;
        deleteLesson(variables: DeleteLessonMutationVariables["input"], options?: C): Promise<WithError<DeleteLessonMutation["deleteLesson"]>>;
        getCourse(variables: GetCourseQueryVariables, options?: C): Promise<WithError<GetCourseQuery["course"]>>;
        getLesson(variables: GetLessonQueryVariables, options?: C): Promise<WithError<GetLessonQuery["course"]>>;
        getUserLessonInteractions(variables: GetUserLessonInteractionsQueryVariables, options?: C): Promise<WithError<GetUserLessonInteractionsQuery["course"]>>;
        listCoursesForCompany(variables: ListCoursesForCompanyQueryVariables, options?: C): Promise<WithError<ListCoursesForCompanyQuery["company"]>>;
        listCoursesForExperience(variables: ListCoursesForExperienceQueryVariables, options?: C): Promise<WithError<ListCoursesForExperienceQuery["publicExperience"]>>;
        markLessonAsCompleted(variables: MarkLessonAsCompletedMutationVariables["input"], options?: C): Promise<WithError<MarkLessonAsCompletedMutation["markLessonAsCompleted"]>>;
        moveCourse(variables: MoveCourseMutationVariables["input"], options?: C): Promise<WithError<MoveCourseMutation["moveCourse"]>>;
        updateChapterOrder(variables: UpdateChapterOrderMutationVariables["input"], options?: C): Promise<WithError<UpdateChapterOrderMutation["updateChapterOrder"]>>;
        updateChapter(variables: UpdateChapterMutationVariables["input"], options?: C): Promise<WithError<UpdateChapterMutation["updateChapter"]>>;
        updateLessonOrder(variables: UpdateLessonOrderMutationVariables["input"], options?: C): Promise<WithError<UpdateLessonOrderMutation["updateLessonOrder"]>>;
        updateLesson(variables: UpdateLessonMutationVariables["input"], options?: C): Promise<WithError<UpdateLessonMutation["updateLesson"]>>;
    };
    experiences: {
        getExperience(variables: GetExperienceQueryVariables, options?: C): Promise<WithError<GetExperienceQuery["experience"]>>;
        listAccessPassesForExperience(variables: ListAccessPassesForExperienceQueryVariables, options?: C): Promise<WithError<ListAccessPassesForExperienceQuery["experience"]>>;
        listExperiences(variables: ListExperiencesQueryVariables, options?: C): Promise<WithError<ListExperiencesQuery["company"]>>;
        listUsersForExperience(variables: ListUsersForExperienceQueryVariables, options?: C): Promise<WithError<ListUsersForExperienceQuery["publicExperience"]>>;
    };
    forums: {
        createForumPost(variables: CreateForumPostMutationVariables["input"], options?: C): Promise<WithError<CreateForumPostMutation["createForumPost"]>>;
        findOrCreateForum(variables: FindOrCreateForumMutationVariables["input"], options?: C): Promise<WithError<FindOrCreateForumMutation["createForum"]>>;
        listForumPostsFromForum(variables: ListForumPostsFromForumQueryVariables, options?: C): Promise<WithError<ListForumPostsFromForumQuery["feedPosts"]>>;
    };
    invoices: {
        createInvoice(variables: CreateInvoiceMutationVariables["input"], options?: C): Promise<WithError<CreateInvoiceMutation["createInvoice"]>>;
        getInvoice(variables: GetInvoiceQueryVariables, options?: C): Promise<WithError<GetInvoiceQuery["company"]>>;
        listInvoices(variables: ListInvoicesQueryVariables, options?: C): Promise<WithError<ListInvoicesQuery["company"]>>;
    };
    messages: {
        findOrCreateChat(variables: FindOrCreateChatMutationVariables["input"], options?: C): Promise<WithError<FindOrCreateChatMutation["createChat"]>>;
        listDirectMessageConversations(variables?: ListDirectMessageConversationsQueryVariables, options?: C): Promise<WithError<ListDirectMessageConversationsQuery["myDmsChannelsV2"]>>;
        listMessagesFromChat(variables?: ListMessagesFromChatQueryVariables, options?: C): Promise<WithError<ListMessagesFromChatQuery["feedPosts"]>>;
        sendDirectMessageToUser(variables: SendDirectMessageToUserMutationVariables, options?: C): Promise<WithError<SendDirectMessageToUserMutation["sendMessage"]>>;
        sendMessageToChat(variables: SendMessageToChatMutationVariables, options?: C): Promise<WithError<SendMessageToChatMutation["sendMessage"]>>;
    };
    notifications: {
        sendPushNotification(variables: SendPushNotificationMutationVariables["input"], options?: C): Promise<WithError<SendPushNotificationMutation["sendNotification"]>>;
    };
    payments: {
        chargeUser(variables: ChargeUserMutationVariables["input"], options?: C): Promise<WithError<ChargeUserMutation["chargeUser"]>>;
        createCheckoutSession(variables: CreateCheckoutSessionMutationVariables["input"], options?: C): Promise<WithError<CreateCheckoutSessionMutation["createCheckoutSession"]>>;
        listReceiptsForCompany(variables: ListReceiptsForCompanyQueryVariables, options?: C): Promise<WithError<ListReceiptsForCompanyQuery["company"]>>;
        payUser(variables: PayUserMutationVariables["input"], options?: C): Promise<WithError<PayUserMutation["transferFunds"]>>;
    };
    promoCodes: {
        createPromoCode(variables: CreatePromoCodeMutationVariables["input"], options?: C): Promise<WithError<CreatePromoCodeMutation["createPromoCode"]>>;
        deletePromoCode(variables: DeletePromoCodeMutationVariables["input"], options?: C): Promise<WithError<DeletePromoCodeMutation["deletePromoCode"]>>;
        getPromoCode(variables: GetPromoCodeQueryVariables, options?: C): Promise<WithError<GetPromoCodeQuery["promoCode"]>>;
        listPromoCodes(variables: ListPromoCodesQueryVariables, options?: C): Promise<WithError<ListPromoCodesQuery["company"]>>;
    };
    users: {
        banUser(variables: BanUserMutationVariables["input"], options?: C): Promise<WithError<BanUserMutation["banUser"]>>;
        getCurrentUser(variables?: GetCurrentUserQueryVariables, options?: C): Promise<WithError<GetCurrentUserQuery["viewer"]>>;
        getUserLedgerAccount(variables?: GetUserLedgerAccountQueryVariables, options?: C): Promise<WithError<GetUserLedgerAccountQuery["viewer"]>>;
        getUser(variables: GetUserQueryVariables, options?: C): Promise<WithError<GetUserQuery["publicUser"]>>;
        listUserSocials(variables: ListUserSocialsQueryVariables, options?: C): Promise<WithError<ListUserSocialsQuery["publicUser"]>>;
        muteUser(variables: MuteUserMutationVariables["input"], options?: C): Promise<WithError<MuteUserMutation["createCompanyMutedUser"]>>;
        unbanUser(variables: UnbanUserMutationVariables["input"], options?: C): Promise<WithError<UnbanUserMutation["unbanUser"]>>;
        unmuteUser(variables: UnmuteUserMutationVariables["input"], options?: C): Promise<WithError<UnmuteUserMutation["deleteCompanyMutedUser"]>>;
    };
    webhooks: {
        createWebhook(variables: CreateWebhookMutationVariables["input"], options?: C): Promise<WithError<CreateWebhookMutation["createWebhook"]>>;
        deleteWebhook(variables: DeleteWebhookMutationVariables["input"], options?: C): Promise<WithError<DeleteWebhookMutation["deleteWebhook"]>>;
        getWebhook(variables: GetWebhookQueryVariables, options?: C): Promise<WithError<GetWebhookQuery["company"]>>;
        listWebhooks(variables: ListWebhooksQueryVariables, options?: C): Promise<WithError<ListWebhooksQuery["company"]>>;
        testWebhook(variables: TestWebhookMutationVariables["input"], options?: C): Promise<WithError<TestWebhookMutation["testWebhookV2"]>>;
        updateWebhook(variables: UpdateWebhookMutationVariables["input"], options?: C): Promise<WithError<UpdateWebhookMutation["updateWebhook"]>>;
    };
};
type Sdk = ReturnType<typeof getSdk>;

/** Represents an amount of money with its currency type. */
interface Money {
    /** The three-letter currency code defined in ISO 4217. */
    currencyCode: string;
    /**
     * The whole units of the amount.
     * For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
     */
    units: number;
    /**
     * Number of nano (10^-9) units of the amount.
     * The value must be between -999,999,999 and +999,999,999 inclusive.
     * If `units` is positive, `nanos` must be positive or zero.
     * If `units` is zero, `nanos` can be positive, zero, or negative.
     * If `units` is negative, `nanos` must be negative or zero.
     * For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
     */
    nanos: number;
}

interface FileAttachment {
    originalUrl: string;
    fileName: string;
    /** @deprecated */
    fileSize: number;
    audio?: FileAttachment_Audio | undefined;
    video?: FileAttachment_Video | undefined;
    image?: FileAttachment_Image | undefined;
    genericFile?: FileAttachment_GenericFile | undefined;
    id: string;
    signedId: string;
    analyzed: boolean;
    byteSize: number;
    contentType: string;
}
interface FileAttachment_Audio {
    durationSecs: number;
    waveformUrl: string;
    bitrate: number;
}
interface FileAttachment_Video {
    durationSecs: number;
    width: number;
    height: number;
    thumbnailUrl: string;
    aspectRatio: number;
    blurhash: string;
}
interface FileAttachment_Image {
    width: number;
    height: number;
    blurhash: string;
    aspectRatio: number;
}
interface FileAttachment_GenericFile {
}

declare const UserType: {
    readonly UNKNOWN_TYPE: "UNKNOWN_TYPE";
    readonly HUMAN: "HUMAN";
    readonly SYSTEM: "SYSTEM";
    readonly AGENT: "AGENT";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type UserType = typeof UserType[keyof typeof UserType];
declare namespace UserType {
    type UNKNOWN_TYPE = typeof UserType.UNKNOWN_TYPE;
    type HUMAN = typeof UserType.HUMAN;
    type SYSTEM = typeof UserType.SYSTEM;
    type AGENT = typeof UserType.AGENT;
    type UNRECOGNIZED = typeof UserType.UNRECOGNIZED;
}
interface User {
    id: string;
    email?: string | undefined;
    name?: string | undefined;
    username: string;
    /** @deprecated */
    profilePicUrl?: string | undefined;
    userType: UserType;
    roles: User_PlatformRole[];
    profilePicture: FileAttachment | undefined;
    banner: FileAttachment | undefined;
    createdAt: string | undefined;
    isSuspended: boolean;
    isPlatformPolice: boolean;
}
declare const User_PlatformRole: {
    readonly UNKNOWN_ROLE: "UNKNOWN_ROLE";
    readonly SUPER_ADMIN: "SUPER_ADMIN";
    readonly ADMIN: "ADMIN";
    readonly TRUST_AND_SAFETY_MANAGER: "TRUST_AND_SAFETY_MANAGER";
    readonly MANAGER: "MANAGER";
    readonly SUPPORT: "SUPPORT";
    readonly TESTER: "TESTER";
    readonly SEO_MANAGER: "SEO_MANAGER";
    readonly TEMPLATE_USER: "TEMPLATE_USER";
    readonly MARKETPLACE_MANAGER: "MARKETPLACE_MANAGER";
    readonly DEVELOPER: "DEVELOPER";
    readonly FINANCE_MANAGER: "FINANCE_MANAGER";
    readonly RESOLUTION_CENTER_MANAGER: "RESOLUTION_CENTER_MANAGER";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type User_PlatformRole = typeof User_PlatformRole[keyof typeof User_PlatformRole];
declare namespace User_PlatformRole {
    type UNKNOWN_ROLE = typeof User_PlatformRole.UNKNOWN_ROLE;
    type SUPER_ADMIN = typeof User_PlatformRole.SUPER_ADMIN;
    type ADMIN = typeof User_PlatformRole.ADMIN;
    type TRUST_AND_SAFETY_MANAGER = typeof User_PlatformRole.TRUST_AND_SAFETY_MANAGER;
    type MANAGER = typeof User_PlatformRole.MANAGER;
    type SUPPORT = typeof User_PlatformRole.SUPPORT;
    type TESTER = typeof User_PlatformRole.TESTER;
    type SEO_MANAGER = typeof User_PlatformRole.SEO_MANAGER;
    type TEMPLATE_USER = typeof User_PlatformRole.TEMPLATE_USER;
    type MARKETPLACE_MANAGER = typeof User_PlatformRole.MARKETPLACE_MANAGER;
    type DEVELOPER = typeof User_PlatformRole.DEVELOPER;
    type FINANCE_MANAGER = typeof User_PlatformRole.FINANCE_MANAGER;
    type RESOLUTION_CENTER_MANAGER = typeof User_PlatformRole.RESOLUTION_CENTER_MANAGER;
    type UNRECOGNIZED = typeof User_PlatformRole.UNRECOGNIZED;
}
interface UserStat {
    userId: string;
    moneyEarned24Hours: Money | undefined;
    moneyEarned30Days: Money | undefined;
    moneyEarned7Days: Money | undefined;
    moneyEarnedLifetime: Money | undefined;
}
interface UserPresence {
    userId: string;
    lastSeenAt?: string | undefined;
}

declare const AppViewType: {
    readonly APP_VIEW_TYPE_UNKNOWN: "APP_VIEW_TYPE_UNKNOWN";
    /**
     * APP_VIEW_TYPE_HUB - This view shows in the consumer facing side of a creator's whop.
     * It is scoped to an "experience" and can be seen by customer of a creator.
     * Clients know this as the "consumer" view. (consumer_view_url_template)
     */
    readonly APP_VIEW_TYPE_HUB: "APP_VIEW_TYPE_HUB";
    /**
     * APP_VIEW_TYPE_DASH - Deprecated - used only by legacy whop internal apps.
     * This represents the "experience admin" view where a creator could customise settings for each experience powered by the app.
     * Clients know this as the "admin" view. (admin_view_url_template)
     *
     * @deprecated
     */
    readonly APP_VIEW_TYPE_DASH: "APP_VIEW_TYPE_DASH";
    /**
     * APP_VIEW_TYPE_ANALYTICS - Deprecated - used only by legacy whop internal apps.
     *
     * @deprecated
     */
    readonly APP_VIEW_TYPE_ANALYTICS: "APP_VIEW_TYPE_ANALYTICS";
    /**
     * APP_VIEW_TYPE_DASHBOARD - New. This view shows up in the creator dashboard for each company that installs the app.
     * One view is rendered per company per app. Only the companyId is available in the URL template.
     */
    readonly APP_VIEW_TYPE_DASHBOARD: "APP_VIEW_TYPE_DASHBOARD";
    /**
     * APP_VIEW_TYPE_DISCOVER - Discover view shows up on the marketplace that allows an app to drive traffics to communities on whop.
     * Essentially it is an unscoped view for an app.
     */
    readonly APP_VIEW_TYPE_DISCOVER: "APP_VIEW_TYPE_DISCOVER";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type AppViewType = typeof AppViewType[keyof typeof AppViewType];
declare namespace AppViewType {
    type APP_VIEW_TYPE_UNKNOWN = typeof AppViewType.APP_VIEW_TYPE_UNKNOWN;
    type APP_VIEW_TYPE_HUB = typeof AppViewType.APP_VIEW_TYPE_HUB;
    type APP_VIEW_TYPE_DASH = typeof AppViewType.APP_VIEW_TYPE_DASH;
    type APP_VIEW_TYPE_ANALYTICS = typeof AppViewType.APP_VIEW_TYPE_ANALYTICS;
    type APP_VIEW_TYPE_DASHBOARD = typeof AppViewType.APP_VIEW_TYPE_DASHBOARD;
    type APP_VIEW_TYPE_DISCOVER = typeof AppViewType.APP_VIEW_TYPE_DISCOVER;
    type UNRECOGNIZED = typeof AppViewType.UNRECOGNIZED;
}
declare const AccessType: {
    readonly UNKNOWN_ACCESS_TYPE: "UNKNOWN_ACCESS_TYPE";
    readonly NO_ACCESS: "NO_ACCESS";
    readonly CUSTOMER: "CUSTOMER";
    readonly ADMIN: "ADMIN";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type AccessType = typeof AccessType[keyof typeof AccessType];
declare namespace AccessType {
    type UNKNOWN_ACCESS_TYPE = typeof AccessType.UNKNOWN_ACCESS_TYPE;
    type NO_ACCESS = typeof AccessType.NO_ACCESS;
    type CUSTOMER = typeof AccessType.CUSTOMER;
    type ADMIN = typeof AccessType.ADMIN;
    type UNRECOGNIZED = typeof AccessType.UNRECOGNIZED;
}
declare const Platform: {
    readonly UNKNOWN: "UNKNOWN";
    readonly WEB: "WEB";
    readonly IOS: "IOS";
    readonly ANDROID: "ANDROID";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type Platform = typeof Platform[keyof typeof Platform];
declare namespace Platform {
    type UNKNOWN = typeof Platform.UNKNOWN;
    type WEB = typeof Platform.WEB;
    type IOS = typeof Platform.IOS;
    type ANDROID = typeof Platform.ANDROID;
    type UNRECOGNIZED = typeof Platform.UNRECOGNIZED;
}
interface App {
    id: string;
    name: string;
    internalIdentifier: string;
    imageUrl: string;
    icon?: FileAttachment | undefined;
    consumerViewUrlTemplate?: string | undefined;
    adminViewUrlTemplate?: string | undefined;
    analyticsViewUrlTemplate?: string | undefined;
    discoverViewUrlTemplate?: string | undefined;
    dashboardViewUrlTemplate?: string | undefined;
    description?: string | undefined;
    prodIosBuildId?: string | undefined;
    prodAndroidBuildId?: string | undefined;
    prodWebBuildId?: string | undefined;
    botId: string;
}
interface AppBuild {
    id: string;
    appId: string;
    checksum: string;
    platform: Platform;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    status: AppBuild_Status;
    fileUrl: string;
    reviewMessage?: string | undefined;
    supportedAppViewTypes: AppViewType[];
}
declare const AppBuild_Status: {
    readonly STATUS_UNKNOWN: "STATUS_UNKNOWN";
    readonly STATUS_DRAFT: "STATUS_DRAFT";
    readonly STATUS_PENDING: "STATUS_PENDING";
    readonly STATUS_APPROVED: "STATUS_APPROVED";
    readonly STATUS_REJECTED: "STATUS_REJECTED";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type AppBuild_Status = typeof AppBuild_Status[keyof typeof AppBuild_Status];
declare namespace AppBuild_Status {
    type STATUS_UNKNOWN = typeof AppBuild_Status.STATUS_UNKNOWN;
    type STATUS_DRAFT = typeof AppBuild_Status.STATUS_DRAFT;
    type STATUS_PENDING = typeof AppBuild_Status.STATUS_PENDING;
    type STATUS_APPROVED = typeof AppBuild_Status.STATUS_APPROVED;
    type STATUS_REJECTED = typeof AppBuild_Status.STATUS_REJECTED;
    type UNRECOGNIZED = typeof AppBuild_Status.UNRECOGNIZED;
}
interface Bot {
    id: string;
    /** @deprecated */
    hubRoute: string;
    title: string;
    imageUrl: string;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    isVerified: boolean;
    installedFirstAppAt?: string | undefined;
    whopFourFiveEnabledAt?: string | undefined;
    logo?: FileAttachment | undefined;
    bannerImage?: FileAttachment | undefined;
    route?: string | undefined;
    opengraphImage?: FileAttachment | undefined;
    opengraphImageVariant?: Bot_OpengraphImageVariant | undefined;
    useLogoAsOpengraphImageFallback: boolean;
    features: string[];
    activeMembersCount: number;
}
declare const Bot_OpengraphImageVariant: {
    readonly VARIANT_UNKNOWN: "VARIANT_UNKNOWN";
    readonly VARIANT_WHITE: "VARIANT_WHITE";
    readonly VARIANT_BLACK: "VARIANT_BLACK";
    readonly VARIANT_ORANGE: "VARIANT_ORANGE";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type Bot_OpengraphImageVariant = typeof Bot_OpengraphImageVariant[keyof typeof Bot_OpengraphImageVariant];
declare namespace Bot_OpengraphImageVariant {
    type VARIANT_UNKNOWN = typeof Bot_OpengraphImageVariant.VARIANT_UNKNOWN;
    type VARIANT_WHITE = typeof Bot_OpengraphImageVariant.VARIANT_WHITE;
    type VARIANT_BLACK = typeof Bot_OpengraphImageVariant.VARIANT_BLACK;
    type VARIANT_ORANGE = typeof Bot_OpengraphImageVariant.VARIANT_ORANGE;
    type UNRECOGNIZED = typeof Bot_OpengraphImageVariant.UNRECOGNIZED;
}
interface NotificationTopic {
    id: string;
}
interface CfLocation {
    ipAddress?: string | undefined;
    city?: string | undefined;
    country?: string | undefined;
    continent?: string | undefined;
    longitude?: number | undefined;
    latitude?: number | undefined;
    region?: string | undefined;
    regionCode?: string | undefined;
    metroCode?: string | undefined;
    postalCode?: string | undefined;
    timezone?: string | undefined;
}
interface AccessPass {
    id: string;
    route: string;
    /** @deprecated */
    name: string;
    headline: string;
    imageUrl: string;
    title: string;
    botId: string;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    discardedAt?: string | undefined;
    shortenedDescription?: string | undefined;
    visibility: AccessPass_Visibility;
    discoverableAt?: string | undefined;
    logo?: FileAttachment | undefined;
    bannerImage?: FileAttachment | undefined;
    accessPassType: AccessPass_AccessPassType;
    activeMembersCount: number;
}
declare const AccessPass_Visibility: {
    readonly VISIBILITY_UNKNOWN: "VISIBILITY_UNKNOWN";
    readonly VISIBLE: "VISIBLE";
    readonly HIDDEN: "HIDDEN";
    readonly ARCHIVED: "ARCHIVED";
    readonly QUICK_LINK: "QUICK_LINK";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type AccessPass_Visibility = typeof AccessPass_Visibility[keyof typeof AccessPass_Visibility];
declare namespace AccessPass_Visibility {
    type VISIBILITY_UNKNOWN = typeof AccessPass_Visibility.VISIBILITY_UNKNOWN;
    type VISIBLE = typeof AccessPass_Visibility.VISIBLE;
    type HIDDEN = typeof AccessPass_Visibility.HIDDEN;
    type ARCHIVED = typeof AccessPass_Visibility.ARCHIVED;
    type QUICK_LINK = typeof AccessPass_Visibility.QUICK_LINK;
    type UNRECOGNIZED = typeof AccessPass_Visibility.UNRECOGNIZED;
}
declare const AccessPass_AccessPassType: {
    readonly ACCESS_PASS_TYPE_UNKNOWN: "ACCESS_PASS_TYPE_UNKNOWN";
    readonly REGULAR: "REGULAR";
    readonly APP: "APP";
    readonly EXPERIENCE_UPSELL: "EXPERIENCE_UPSELL";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type AccessPass_AccessPassType = typeof AccessPass_AccessPassType[keyof typeof AccessPass_AccessPassType];
declare namespace AccessPass_AccessPassType {
    type ACCESS_PASS_TYPE_UNKNOWN = typeof AccessPass_AccessPassType.ACCESS_PASS_TYPE_UNKNOWN;
    type REGULAR = typeof AccessPass_AccessPassType.REGULAR;
    type APP = typeof AccessPass_AccessPassType.APP;
    type EXPERIENCE_UPSELL = typeof AccessPass_AccessPassType.EXPERIENCE_UPSELL;
    type UNRECOGNIZED = typeof AccessPass_AccessPassType.UNRECOGNIZED;
}
interface Plan {
    id: string;
    baseCurrency: string;
    renewalPrice: Money | undefined;
    initialPrice: Money | undefined;
    initialPriceDue: Money | undefined;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    billingPeriod?: number | undefined;
    trialPeriodDays?: number | undefined;
    expirationDays?: number | undefined;
    unlimitedStock: boolean;
    paymentLinkDescription?: string | undefined;
    releaseMethod: Plan_ReleaseMethod;
    stock?: number | undefined;
    visibility: Plan_Visibility;
    planType: Plan_PlanType;
}
declare const Plan_Visibility: {
    readonly VISIBILITY_UNKNOWN: "VISIBILITY_UNKNOWN";
    readonly VISIBLE: "VISIBLE";
    readonly HIDDEN: "HIDDEN";
    readonly ARCHIVED: "ARCHIVED";
    readonly QUICK_LINK: "QUICK_LINK";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type Plan_Visibility = typeof Plan_Visibility[keyof typeof Plan_Visibility];
declare namespace Plan_Visibility {
    type VISIBILITY_UNKNOWN = typeof Plan_Visibility.VISIBILITY_UNKNOWN;
    type VISIBLE = typeof Plan_Visibility.VISIBLE;
    type HIDDEN = typeof Plan_Visibility.HIDDEN;
    type ARCHIVED = typeof Plan_Visibility.ARCHIVED;
    type QUICK_LINK = typeof Plan_Visibility.QUICK_LINK;
    type UNRECOGNIZED = typeof Plan_Visibility.UNRECOGNIZED;
}
declare const Plan_ReleaseMethod: {
    readonly RELEASE_METHOD_UNKNOWN: "RELEASE_METHOD_UNKNOWN";
    readonly BUY_NOW: "BUY_NOW";
    readonly WAITLIST: "WAITLIST";
    readonly RAFFLE: "RAFFLE";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type Plan_ReleaseMethod = typeof Plan_ReleaseMethod[keyof typeof Plan_ReleaseMethod];
declare namespace Plan_ReleaseMethod {
    type RELEASE_METHOD_UNKNOWN = typeof Plan_ReleaseMethod.RELEASE_METHOD_UNKNOWN;
    type BUY_NOW = typeof Plan_ReleaseMethod.BUY_NOW;
    type WAITLIST = typeof Plan_ReleaseMethod.WAITLIST;
    type RAFFLE = typeof Plan_ReleaseMethod.RAFFLE;
    type UNRECOGNIZED = typeof Plan_ReleaseMethod.UNRECOGNIZED;
}
declare const Plan_PlanType: {
    readonly PLAN_TYPE_UNKNOWN: "PLAN_TYPE_UNKNOWN";
    readonly RENEWAL: "RENEWAL";
    readonly ONE_TIME: "ONE_TIME";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type Plan_PlanType = typeof Plan_PlanType[keyof typeof Plan_PlanType];
declare namespace Plan_PlanType {
    type PLAN_TYPE_UNKNOWN = typeof Plan_PlanType.PLAN_TYPE_UNKNOWN;
    type RENEWAL = typeof Plan_PlanType.RENEWAL;
    type ONE_TIME = typeof Plan_PlanType.ONE_TIME;
    type UNRECOGNIZED = typeof Plan_PlanType.UNRECOGNIZED;
}
interface Entry {
    id: string;
    status: Entry_EntryStatus;
    userId: string;
    botId: string;
    planId: string;
    accessPassId: string;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    discardedAt?: string | undefined;
}
declare const Entry_EntryStatus: {
    readonly ENTRY_STATUS_UNKNOWN: "ENTRY_STATUS_UNKNOWN";
    readonly PENDING: "PENDING";
    readonly APPROVED: "APPROVED";
    readonly DENIED: "DENIED";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type Entry_EntryStatus = typeof Entry_EntryStatus[keyof typeof Entry_EntryStatus];
declare namespace Entry_EntryStatus {
    type ENTRY_STATUS_UNKNOWN = typeof Entry_EntryStatus.ENTRY_STATUS_UNKNOWN;
    type PENDING = typeof Entry_EntryStatus.PENDING;
    type APPROVED = typeof Entry_EntryStatus.APPROVED;
    type DENIED = typeof Entry_EntryStatus.DENIED;
    type UNRECOGNIZED = typeof Entry_EntryStatus.UNRECOGNIZED;
}
interface AccessPassMember {
    id: string;
    accessPassId: string;
    userId: string;
    botId: string;
    accessLevel: AccessType;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    /** @deprecated */
    orderOld?: number | undefined;
    order?: number | undefined;
}
interface Member {
    id: string;
    userId: string;
    botId: string;
    accessLevel: AccessType;
    order?: number | undefined;
    createdAt: string | undefined;
    updatedAt: string | undefined;
}
interface AccessPassExperience {
    id: string;
    accessPassId: string;
    experienceId: string;
    botId: string;
    /** @deprecated */
    isDeleted: boolean;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    discardedAt?: string | undefined;
    upsellType?: AccessPassExperience_UpsellType | undefined;
    upsellPlan?: Plan | undefined;
    order: number;
    sectionId?: string | undefined;
}
declare const AccessPassExperience_UpsellType: {
    readonly UPSELL_TYPE_UNKNOWN: "UPSELL_TYPE_UNKNOWN";
    readonly BEFORE_CHECKOUT: "BEFORE_CHECKOUT";
    readonly AFTER_CHECKOUT: "AFTER_CHECKOUT";
    readonly ONLY_IN_WHOP: "ONLY_IN_WHOP";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type AccessPassExperience_UpsellType = typeof AccessPassExperience_UpsellType[keyof typeof AccessPassExperience_UpsellType];
declare namespace AccessPassExperience_UpsellType {
    type UPSELL_TYPE_UNKNOWN = typeof AccessPassExperience_UpsellType.UPSELL_TYPE_UNKNOWN;
    type BEFORE_CHECKOUT = typeof AccessPassExperience_UpsellType.BEFORE_CHECKOUT;
    type AFTER_CHECKOUT = typeof AccessPassExperience_UpsellType.AFTER_CHECKOUT;
    type ONLY_IN_WHOP = typeof AccessPassExperience_UpsellType.ONLY_IN_WHOP;
    type UNRECOGNIZED = typeof AccessPassExperience_UpsellType.UNRECOGNIZED;
}
interface AccessPassExperienceSection {
    id: string;
    accessPassId: string;
    botId: string;
    title: string;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    discardedAt?: string | undefined;
    order?: number | undefined;
}
interface BotExperienceSection {
    id: string;
    botId: string;
    title: string;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    discardedAt?: string | undefined;
    order?: number | undefined;
}
interface Purchase {
    amount: number;
    currencyCode: string;
    userName: string;
    product: AccessPass | undefined;
    createdAt: number;
    id: string;
    releaseMethod: Purchase_ReleaseMethod;
    formattedAmount: string;
}
declare const Purchase_ReleaseMethod: {
    readonly UNKNOWN: "UNKNOWN";
    readonly BUY_NOW: "BUY_NOW";
    readonly WAITLIST: "WAITLIST";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type Purchase_ReleaseMethod = typeof Purchase_ReleaseMethod[keyof typeof Purchase_ReleaseMethod];
declare namespace Purchase_ReleaseMethod {
    type UNKNOWN = typeof Purchase_ReleaseMethod.UNKNOWN;
    type BUY_NOW = typeof Purchase_ReleaseMethod.BUY_NOW;
    type WAITLIST = typeof Purchase_ReleaseMethod.WAITLIST;
    type UNRECOGNIZED = typeof Purchase_ReleaseMethod.UNRECOGNIZED;
}
interface MarketplaceStats {
    totalGmvUsd: number;
    usersCount: number;
}
interface ConnectedId {
    type: ConnectedId_Type;
    id: string;
    deviceId: string;
}
declare const ConnectedId_Type: {
    readonly UNKNOWN: "UNKNOWN";
    readonly ANONYMOUS: "ANONYMOUS";
    readonly USER: "USER";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type ConnectedId_Type = typeof ConnectedId_Type[keyof typeof ConnectedId_Type];
declare namespace ConnectedId_Type {
    type UNKNOWN = typeof ConnectedId_Type.UNKNOWN;
    type ANONYMOUS = typeof ConnectedId_Type.ANONYMOUS;
    type USER = typeof ConnectedId_Type.USER;
    type UNRECOGNIZED = typeof ConnectedId_Type.UNRECOGNIZED;
}
interface Channel {
    type: Channel_Type;
    id: string;
}
declare const Channel_Type: {
    readonly UNKNOWN: "UNKNOWN";
    /** EXPERIENCE - / A channel to which all users of an experience are subscribed, only when vieweing that experience in the UI. The ID is the experience.tag (exp_XXXXX) */
    readonly EXPERIENCE: "EXPERIENCE";
    /** NOTIFICATIONS - / Not used right now. */
    readonly NOTIFICATIONS: "NOTIFICATIONS";
    /** DMS - / A channel to which all users in a dms_feed are subscribed. Id is the dms_feed.external_id (feed_XXXXX) */
    readonly DMS: "DMS";
    /** USER - / A channel to which a single user is subscribed. (Id is the user's id) */
    readonly USER: "USER";
    /** EVERYONE - / A single channel to which all connections are subscribed. (Id is empty) */
    readonly EVERYONE: "EVERYONE";
    /** AUTHENTICATED - / A single channel to which all authenticated users are subscribed. (Id is empty) */
    readonly AUTHENTICATED: "AUTHENTICATED";
    /** ANONYMOUS - / A channel that is created for every anonymous connection. The id is 128bits of random data. */
    readonly ANONYMOUS: "ANONYMOUS";
    /** PUBLIC - / A channel type that can be connected to by anyone without authentication. Allows anything after the `public_` prefix. */
    readonly PUBLIC: "PUBLIC";
    /** ACCESS_PASS - / A channel to which all users of an access pass are subscribed. The ID is the access_pass.tag (pass_XXXX or prod_XXXX) */
    readonly ACCESS_PASS: "ACCESS_PASS";
    /** APP - / A channel that is used by an app to broadcast data to all of its websocket connections. It may look like: app_XXX or app_XXX_exp_XXX or app_XXX_custom_suffix */
    readonly APP: "APP";
    /** BOT - / A channel to which all members with valid access to a bot are subscribed. The ID is the bot.id (biz_XXX) */
    readonly BOT: "BOT";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type Channel_Type = typeof Channel_Type[keyof typeof Channel_Type];
declare namespace Channel_Type {
    type UNKNOWN = typeof Channel_Type.UNKNOWN;
    type EXPERIENCE = typeof Channel_Type.EXPERIENCE;
    type NOTIFICATIONS = typeof Channel_Type.NOTIFICATIONS;
    type DMS = typeof Channel_Type.DMS;
    type USER = typeof Channel_Type.USER;
    type EVERYONE = typeof Channel_Type.EVERYONE;
    type AUTHENTICATED = typeof Channel_Type.AUTHENTICATED;
    type ANONYMOUS = typeof Channel_Type.ANONYMOUS;
    type PUBLIC = typeof Channel_Type.PUBLIC;
    type ACCESS_PASS = typeof Channel_Type.ACCESS_PASS;
    type APP = typeof Channel_Type.APP;
    type BOT = typeof Channel_Type.BOT;
    type UNRECOGNIZED = typeof Channel_Type.UNRECOGNIZED;
}
interface ChannelSubscriptionState {
    channel: Channel | undefined;
    isSubscribed: boolean;
    wasAlreadySubscribed: boolean;
    disconnectionReason?: ChannelSubscriptionState_DisconnectionReason | undefined;
}
declare const ChannelSubscriptionState_DisconnectionReason: {
    readonly UNKNOWN: "UNKNOWN";
    readonly NO_ACCESS: "NO_ACCESS";
    readonly REQUESTED_DISCONNECT: "REQUESTED_DISCONNECT";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type ChannelSubscriptionState_DisconnectionReason = typeof ChannelSubscriptionState_DisconnectionReason[keyof typeof ChannelSubscriptionState_DisconnectionReason];
declare namespace ChannelSubscriptionState_DisconnectionReason {
    type UNKNOWN = typeof ChannelSubscriptionState_DisconnectionReason.UNKNOWN;
    type NO_ACCESS = typeof ChannelSubscriptionState_DisconnectionReason.NO_ACCESS;
    type REQUESTED_DISCONNECT = typeof ChannelSubscriptionState_DisconnectionReason.REQUESTED_DISCONNECT;
    type UNRECOGNIZED = typeof ChannelSubscriptionState_DisconnectionReason.UNRECOGNIZED;
}
interface Reconnect {
}
interface ReloadClient {
    versionId: string;
    force: boolean;
}
interface BroadcastRequest {
    channel: Channel | undefined;
    typingIndicator?: TypingIndicator | undefined;
    markAsRead?: MarkAsRead | undefined;
    position?: Position | undefined;
}
interface Position {
    x: number;
    y: number;
    type: Position_Type;
    url: string;
    message: string;
}
declare const Position_Type: {
    readonly UNKNOWN: "UNKNOWN";
    readonly MOUSE: "MOUSE";
    readonly PLAYER: "PLAYER";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type Position_Type = typeof Position_Type[keyof typeof Position_Type];
declare namespace Position_Type {
    type UNKNOWN = typeof Position_Type.UNKNOWN;
    type MOUSE = typeof Position_Type.MOUSE;
    type PLAYER = typeof Position_Type.PLAYER;
    type UNRECOGNIZED = typeof Position_Type.UNRECOGNIZED;
}
interface TypingIndicator {
    expireAfter: string | undefined;
}
interface MarkAsRead {
    experienceId?: string | undefined;
    isGlobal: boolean;
    timestamp: string | undefined;
}
interface BroadcastResponse {
    channel: Channel | undefined;
    fromUserId: string;
    serverForwardedAt: string | undefined;
    typingIndicator?: TypingIndicator | undefined;
    markAsRead?: MarkAsRead | undefined;
    position?: Position | undefined;
}
interface DiscoveryAccessPassLiveData {
    accessPassId: string;
    last24HoursGmv?: Money | undefined;
    last24HoursAffiliateEarnings?: Money | undefined;
    last24HoursNewUsers?: number | undefined;
    last24HoursAverageTimePerUser?: string | undefined;
    globalWhopRanking?: number | undefined;
    totalPublishedReviewsCount?: number | undefined;
    lastReview?: AccessPassReview | undefined;
    last7DaysPublishedReviewsCount?: number | undefined;
    activeUsersCount?: number | undefined;
    last30DaysNewUsers?: number | undefined;
    accessPassActivityItem?: AccessPassActivityItem | undefined;
}
interface AccessPassActivityItem {
    id: string;
    createdAt: string | undefined;
    eventType: string;
    user?: User | undefined;
}
interface AccessPassReview {
    id: string;
    createdAt: string | undefined;
    publishedAt: string | undefined;
}
interface FeedContentItem {
    id: string;
    eventType: string;
    metadata: {
        [key: string]: any;
    } | undefined;
    restPath: string;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    appId: string;
    botId: string;
    experienceId: string;
    externalId: string;
    parentExternalId: string;
    userId: string;
    attachments: FileAttachment[];
    gifs: FeedContentItem_GiphyGif[];
}
interface FeedContentItem_GiphyGif {
    title: string;
    url: string;
    originalUrl: string;
    previewUrl: string;
    width: number;
    height: number;
    slug: string;
}
interface UserReferralMarketRates {
    previousRates?: UserReferralMarketRate | undefined;
    currentRates?: UserReferralMarketRate | undefined;
}
interface UserReferralMarketRate {
    percentOfPlatformSpend?: number | undefined;
    percentOfSellerPayment?: number | undefined;
    percentOfContentRewardsCampaignMaker?: number | undefined;
    percentOfContentRewardsEarner?: number | undefined;
}
interface GoFetchExperienceList {
    accessPassId: string;
}
interface GoFetchUserExperiences {
    experienceId: string;
}
interface BusinessActivityEvent {
    eventType: BusinessActivityEvent_EventType;
    user: User | undefined;
    accessPass: AccessPass | undefined;
    description: string;
    createdAt: string | undefined;
    member: Member | undefined;
    metadata: {
        [key: string]: any;
    } | undefined;
}
declare const BusinessActivityEvent_EventType: {
    readonly UNKNOWN: "UNKNOWN";
    readonly MEMBER_JOINED: "MEMBER_JOINED";
    readonly NEW_PAYMENT: "NEW_PAYMENT";
    readonly NEW_DISPUTE: "NEW_DISPUTE";
    readonly MEMBER_CANCELED: "MEMBER_CANCELED";
    readonly MEMBER_CHURNED: "MEMBER_CHURNED";
    readonly NEW_MARKETPLACE_SALE: "NEW_MARKETPLACE_SALE";
    readonly NEW_RESOLUTION_CENTER_CASE: "NEW_RESOLUTION_CENTER_CASE";
    readonly NEW_REVIEW: "NEW_REVIEW";
    readonly TEAM_MEMBER_JOINED: "TEAM_MEMBER_JOINED";
    readonly BANNED_USER: "BANNED_USER";
    readonly FAILED_PAYMENT: "FAILED_PAYMENT";
    readonly PAYOUT_REQUESTED: "PAYOUT_REQUESTED";
    readonly PAYOUT_COMPLETED: "PAYOUT_COMPLETED";
    readonly PAYOUT_FAILED: "PAYOUT_FAILED";
    readonly COMPETITION_ALERT: "COMPETITION_ALERT";
    readonly NEW_WAITLIST_ENTRY: "NEW_WAITLIST_ENTRY";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type BusinessActivityEvent_EventType = typeof BusinessActivityEvent_EventType[keyof typeof BusinessActivityEvent_EventType];
declare namespace BusinessActivityEvent_EventType {
    type UNKNOWN = typeof BusinessActivityEvent_EventType.UNKNOWN;
    type MEMBER_JOINED = typeof BusinessActivityEvent_EventType.MEMBER_JOINED;
    type NEW_PAYMENT = typeof BusinessActivityEvent_EventType.NEW_PAYMENT;
    type NEW_DISPUTE = typeof BusinessActivityEvent_EventType.NEW_DISPUTE;
    type MEMBER_CANCELED = typeof BusinessActivityEvent_EventType.MEMBER_CANCELED;
    type MEMBER_CHURNED = typeof BusinessActivityEvent_EventType.MEMBER_CHURNED;
    type NEW_MARKETPLACE_SALE = typeof BusinessActivityEvent_EventType.NEW_MARKETPLACE_SALE;
    type NEW_RESOLUTION_CENTER_CASE = typeof BusinessActivityEvent_EventType.NEW_RESOLUTION_CENTER_CASE;
    type NEW_REVIEW = typeof BusinessActivityEvent_EventType.NEW_REVIEW;
    type TEAM_MEMBER_JOINED = typeof BusinessActivityEvent_EventType.TEAM_MEMBER_JOINED;
    type BANNED_USER = typeof BusinessActivityEvent_EventType.BANNED_USER;
    type FAILED_PAYMENT = typeof BusinessActivityEvent_EventType.FAILED_PAYMENT;
    type PAYOUT_REQUESTED = typeof BusinessActivityEvent_EventType.PAYOUT_REQUESTED;
    type PAYOUT_COMPLETED = typeof BusinessActivityEvent_EventType.PAYOUT_COMPLETED;
    type PAYOUT_FAILED = typeof BusinessActivityEvent_EventType.PAYOUT_FAILED;
    type COMPETITION_ALERT = typeof BusinessActivityEvent_EventType.COMPETITION_ALERT;
    type NEW_WAITLIST_ENTRY = typeof BusinessActivityEvent_EventType.NEW_WAITLIST_ENTRY;
    type UNRECOGNIZED = typeof BusinessActivityEvent_EventType.UNRECOGNIZED;
}

interface FeedEntity {
    dmsPost?: FeedDmsPost | undefined;
    dmsFeed?: FeedDmsFeed | undefined;
    dmsFeedMember?: FeedDmsFeedMember | undefined;
    reaction?: FeedReaction | undefined;
    user?: FeedUser | undefined;
    chatFeed?: FeedChatFeed | undefined;
    mutedUser?: FeedMutedUser | undefined;
    forumFeed?: FeedForumFeed | undefined;
    forumPost?: FeedForumPost | undefined;
    postReactionCountUpdate?: FeedPostReactionCountUpdate | undefined;
    livestreamFeed?: FeedLivestreamFeed | undefined;
    dmsUnreadBadgeUpdate?: FeedDmsUnreadBadgeUpdate | undefined;
}
interface SendFeedEntityToUserRequest {
    userId: string;
    feedEntity: FeedEntity | undefined;
    userIds: string[];
}
interface SendFeedEntityToUserResponse {
    sent: boolean;
}
interface FeedSyncError {
    message: string;
}
interface FeedDmsPost {
    /** Entity Base */
    entityType: string;
    entityId: string;
    createdAt: number;
    updatedAt: number;
    Deleted: boolean;
    syncError: FeedSyncError | undefined;
    isSynced: boolean;
    sortKey: string;
    /** Custom Fields */
    feedId: string;
    feedType: string;
    userId: string;
    parentId: string;
    isEdited: boolean;
    title: string;
    content: string;
    richContent: string;
    childrenCount: number;
    /** @deprecated */
    reactionCounts: FeedDmsPost_ReactionCounts | undefined;
    /**
     * use files instead
     *
     * @deprecated
     */
    attachments: FeedDmsPost_PostAttachment[];
    gifs: FeedDmsPost_GiphyGif[];
    replyingToPostId: string;
    links: FeedDmsPost_LinkEmbed[];
    isPinned: boolean;
    everyoneMentioned: boolean;
    mentionedUserIds: string[];
    viewCount: number;
    postReactionCounts: PostReactionCount[];
    isPosterAdmin: boolean;
    messageType: FeedDmsPost_MessageType;
    embed?: PostEmbed | undefined;
    user: User | undefined;
    files: FileAttachment[];
    experienceId?: string | undefined;
    poll?: Poll | undefined;
    markdownContent: string;
    replyingToPost?: FeedDmsPost | undefined;
}
declare const FeedDmsPost_MessageType: {
    readonly UNKNOWN_TYPE: "UNKNOWN_TYPE";
    readonly REGULAR: "REGULAR";
    readonly SYSTEM: "SYSTEM";
    readonly AUTOMATED: "AUTOMATED";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type FeedDmsPost_MessageType = typeof FeedDmsPost_MessageType[keyof typeof FeedDmsPost_MessageType];
declare namespace FeedDmsPost_MessageType {
    type UNKNOWN_TYPE = typeof FeedDmsPost_MessageType.UNKNOWN_TYPE;
    type REGULAR = typeof FeedDmsPost_MessageType.REGULAR;
    type SYSTEM = typeof FeedDmsPost_MessageType.SYSTEM;
    type AUTOMATED = typeof FeedDmsPost_MessageType.AUTOMATED;
    type UNRECOGNIZED = typeof FeedDmsPost_MessageType.UNRECOGNIZED;
}
interface FeedDmsPost_ImageAttachment {
    type: string;
    fileUrl: string;
    fileCategory: string;
    fileName: string;
    /** @deprecated */
    fileSize: number;
    blurDataUrl: string;
    aspectRatio: number;
    byteSize: number;
}
interface FeedDmsPost_DocumentAttachment {
    type: string;
    fileUrl: string;
    fileCategory: string;
    fileName: string;
    /** @deprecated */
    fileSize: number;
    byteSize: number;
}
interface FeedDmsPost_VideoAttachment {
    type: string;
    fileUrl: string;
    fileCategory: string;
    fileName: string;
    /** @deprecated */
    fileSize: number;
    blurDataUrl: string;
    aspectRatio: number;
    thumbnailUrl: string;
    height: number;
    width: number;
    byteSize: number;
}
interface FeedDmsPost_GiphyGif {
    title: string;
    url: string;
    originalUrl: string;
    previewUrl: string;
    width: number;
    height: number;
    slug: string;
}
interface FeedDmsPost_PostAttachment {
    image?: FeedDmsPost_ImageAttachment | undefined;
    document?: FeedDmsPost_DocumentAttachment | undefined;
    video?: FeedDmsPost_VideoAttachment | undefined;
}
interface FeedDmsPost_ReactionCount {
    score: number;
    count: number;
}
interface FeedDmsPost_ReactionCounts {
    counts: {
        [key: string]: FeedDmsPost_ReactionCount;
    };
}
interface FeedDmsPost_ReactionCounts_CountsEntry {
    key: string;
    value: FeedDmsPost_ReactionCount | undefined;
}
interface FeedDmsPost_LinkEmbed {
    url: string;
    title: string;
    description: string;
    image: string;
    favicon: string;
    processing: boolean;
}
interface FeedDmsFeed {
    /** Entity Base */
    entityType: string;
    entityId: string;
    createdAt: number;
    updatedAt: number;
    Deleted: boolean;
    syncError: FeedSyncError | undefined;
    isSynced: boolean;
    /** Feed Fields */
    rootPostCount: number;
    postCount: number;
    collectionIdentifier: string;
    feedType: string;
    sortKey: string;
    /** Custom Fields */
    customName: string;
    botId?: string | undefined;
    customerUserId?: string | undefined;
    botLogo?: FileAttachment | undefined;
    resolvedAt?: string | undefined;
}
interface FeedChatFeed {
    /** Entity Base */
    entityType: string;
    entityId: string;
    createdAt: number;
    updatedAt: number;
    Deleted: boolean;
    syncError: FeedSyncError | undefined;
    isSynced: boolean;
    /** Feed Fields */
    rootPostCount: number;
    postCount: number;
    collectionIdentifier: string;
    feedType: string;
    sortKey: string;
    /** Custom Fields */
    experienceId: string;
    banUrls: boolean;
    whoCanReact: FeedChatFeed_MemberPermissionType;
    whoCanPost: FeedChatFeed_MemberPermissionType;
    requiredProductIdsToWrite: string[];
    banMedia: boolean;
    userPostsCooldownSeconds: number;
    banUnverifiedUsers: boolean;
}
declare const FeedChatFeed_MemberPermissionType: {
    readonly UNKNOWN: "UNKNOWN";
    readonly NONE: "NONE";
    readonly EVERYONE: "EVERYONE";
    readonly MEMBERS: "MEMBERS";
    readonly ADMINS: "ADMINS";
    readonly PRODUCT_OWNERS: "PRODUCT_OWNERS";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type FeedChatFeed_MemberPermissionType = typeof FeedChatFeed_MemberPermissionType[keyof typeof FeedChatFeed_MemberPermissionType];
declare namespace FeedChatFeed_MemberPermissionType {
    type UNKNOWN = typeof FeedChatFeed_MemberPermissionType.UNKNOWN;
    type NONE = typeof FeedChatFeed_MemberPermissionType.NONE;
    type EVERYONE = typeof FeedChatFeed_MemberPermissionType.EVERYONE;
    type MEMBERS = typeof FeedChatFeed_MemberPermissionType.MEMBERS;
    type ADMINS = typeof FeedChatFeed_MemberPermissionType.ADMINS;
    type PRODUCT_OWNERS = typeof FeedChatFeed_MemberPermissionType.PRODUCT_OWNERS;
    type UNRECOGNIZED = typeof FeedChatFeed_MemberPermissionType.UNRECOGNIZED;
}
interface FeedLivestreamFeed {
    /** Entity Base */
    entityType: string;
    entityId: string;
    createdAt: number;
    updatedAt: number;
    Deleted: boolean;
    syncError: FeedSyncError | undefined;
    isSynced: boolean;
    /** Feed Fields */
    rootPostCount: number;
    postCount: number;
    collectionIdentifier: string;
    feedType: string;
    sortKey: string;
    /**
     * Custom Fields
     *
     * @deprecated
     */
    experienceId: string;
    banUrls: boolean;
    banMedia: boolean;
    banUnverifiedUsers: boolean;
    bannedWords: string[];
    userPostsCooldownSeconds: number;
    whoCanReact: FeedLivestreamFeed_MemberPermissionType;
    whoCanPost: FeedLivestreamFeed_MemberPermissionType;
    recordingUrl?: string | undefined;
    thumbnailUrl?: string | undefined;
    experienceIds: string[];
    reactionsEnabled: boolean;
    /** Livekit fields */
    title: string;
    description: string;
    emptyTimeout: number;
    maxParticipants: number;
    scheduledAt: number;
    startedAt: number;
    endedAt: number;
    metadata: {
        [key: string]: string;
    };
    hostId: string;
    recording?: FileAttachment | undefined;
    recordingStatus?: FeedLivestreamFeed_RecordingStatus | undefined;
}
declare const FeedLivestreamFeed_RecordingStatus: {
    readonly UNKNOWN_RECORDING_STATUS: "UNKNOWN_RECORDING_STATUS";
    readonly RECORDING: "RECORDING";
    readonly PROCESSING: "PROCESSING";
    readonly COMPLETED: "COMPLETED";
    readonly FAILED: "FAILED";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type FeedLivestreamFeed_RecordingStatus = typeof FeedLivestreamFeed_RecordingStatus[keyof typeof FeedLivestreamFeed_RecordingStatus];
declare namespace FeedLivestreamFeed_RecordingStatus {
    type UNKNOWN_RECORDING_STATUS = typeof FeedLivestreamFeed_RecordingStatus.UNKNOWN_RECORDING_STATUS;
    type RECORDING = typeof FeedLivestreamFeed_RecordingStatus.RECORDING;
    type PROCESSING = typeof FeedLivestreamFeed_RecordingStatus.PROCESSING;
    type COMPLETED = typeof FeedLivestreamFeed_RecordingStatus.COMPLETED;
    type FAILED = typeof FeedLivestreamFeed_RecordingStatus.FAILED;
    type UNRECOGNIZED = typeof FeedLivestreamFeed_RecordingStatus.UNRECOGNIZED;
}
declare const FeedLivestreamFeed_MemberPermissionType: {
    readonly UNKNOWN: "UNKNOWN";
    readonly NONE: "NONE";
    readonly EVERYONE: "EVERYONE";
    readonly ADMINS: "ADMINS";
    readonly PRODUCT_OWNERS: "PRODUCT_OWNERS";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type FeedLivestreamFeed_MemberPermissionType = typeof FeedLivestreamFeed_MemberPermissionType[keyof typeof FeedLivestreamFeed_MemberPermissionType];
declare namespace FeedLivestreamFeed_MemberPermissionType {
    type UNKNOWN = typeof FeedLivestreamFeed_MemberPermissionType.UNKNOWN;
    type NONE = typeof FeedLivestreamFeed_MemberPermissionType.NONE;
    type EVERYONE = typeof FeedLivestreamFeed_MemberPermissionType.EVERYONE;
    type ADMINS = typeof FeedLivestreamFeed_MemberPermissionType.ADMINS;
    type PRODUCT_OWNERS = typeof FeedLivestreamFeed_MemberPermissionType.PRODUCT_OWNERS;
    type UNRECOGNIZED = typeof FeedLivestreamFeed_MemberPermissionType.UNRECOGNIZED;
}
interface FeedLivestreamFeed_MetadataEntry {
    key: string;
    value: string;
}
interface FeedMutedUser {
    /** Entity Base */
    entityType: string;
    entityId: string;
    createdAt: number;
    updatedAt: number;
    Deleted: boolean;
    syncError: FeedSyncError | undefined;
    isSynced: boolean;
    /** Custom Fields */
    userId: string;
    feedId: string;
    feedType: string;
    mutedUntil: number;
}
interface FeedDmsFeedMember {
    /** Entity Base */
    entityType: string;
    entityId: string;
    createdAt: number;
    updatedAt: number;
    Deleted: boolean;
    syncError: FeedSyncError | undefined;
    isSynced: boolean;
    /** Feed Member Fields */
    feedId: string;
    userId: string;
    companyId: string;
    feedType: string;
    sortKey: string;
    /** Custom Fields */
    status: FeedDmsFeedMember_DmsFeedMemberStatus;
    lastViewedAt: number;
    lastTypedAt: number;
    notificationPreference: FeedDmsFeedMember_NotificationPreference;
    pinnedPosition?: number | undefined;
}
declare const FeedDmsFeedMember_DmsFeedMemberStatus: {
    readonly UNKNOWN_STATUS: "UNKNOWN_STATUS";
    readonly REQUESTED: "REQUESTED";
    readonly ACCEPTED: "ACCEPTED";
    readonly REJECTED: "REJECTED";
    readonly CLOSED: "CLOSED";
    readonly ARCHIVED: "ARCHIVED";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type FeedDmsFeedMember_DmsFeedMemberStatus = typeof FeedDmsFeedMember_DmsFeedMemberStatus[keyof typeof FeedDmsFeedMember_DmsFeedMemberStatus];
declare namespace FeedDmsFeedMember_DmsFeedMemberStatus {
    type UNKNOWN_STATUS = typeof FeedDmsFeedMember_DmsFeedMemberStatus.UNKNOWN_STATUS;
    type REQUESTED = typeof FeedDmsFeedMember_DmsFeedMemberStatus.REQUESTED;
    type ACCEPTED = typeof FeedDmsFeedMember_DmsFeedMemberStatus.ACCEPTED;
    type REJECTED = typeof FeedDmsFeedMember_DmsFeedMemberStatus.REJECTED;
    type CLOSED = typeof FeedDmsFeedMember_DmsFeedMemberStatus.CLOSED;
    type ARCHIVED = typeof FeedDmsFeedMember_DmsFeedMemberStatus.ARCHIVED;
    type UNRECOGNIZED = typeof FeedDmsFeedMember_DmsFeedMemberStatus.UNRECOGNIZED;
}
declare const FeedDmsFeedMember_NotificationPreference: {
    readonly UNKNOWN_PREFERENCE: "UNKNOWN_PREFERENCE";
    readonly ALL: "ALL";
    readonly MENTIONS: "MENTIONS";
    readonly NONE: "NONE";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type FeedDmsFeedMember_NotificationPreference = typeof FeedDmsFeedMember_NotificationPreference[keyof typeof FeedDmsFeedMember_NotificationPreference];
declare namespace FeedDmsFeedMember_NotificationPreference {
    type UNKNOWN_PREFERENCE = typeof FeedDmsFeedMember_NotificationPreference.UNKNOWN_PREFERENCE;
    type ALL = typeof FeedDmsFeedMember_NotificationPreference.ALL;
    type MENTIONS = typeof FeedDmsFeedMember_NotificationPreference.MENTIONS;
    type NONE = typeof FeedDmsFeedMember_NotificationPreference.NONE;
    type UNRECOGNIZED = typeof FeedDmsFeedMember_NotificationPreference.UNRECOGNIZED;
}
interface FeedReaction {
    /** Entity Base */
    entityType: string;
    entityId: string;
    createdAt: number;
    updatedAt: number;
    Deleted: boolean;
    syncError: FeedSyncError | undefined;
    isSynced: boolean;
    /** Custom Fields */
    postId: string;
    postType: string;
    userId: string;
    feedId: string;
    feedType: string;
    reactionType: FeedReaction_ReactionType;
    value: string;
    score: number;
}
declare const FeedReaction_ReactionType: {
    readonly UNKNOWN: "UNKNOWN";
    readonly LIKE: "LIKE";
    readonly EMOJI: "EMOJI";
    readonly VIEW: "VIEW";
    readonly VOTE: "VOTE";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type FeedReaction_ReactionType = typeof FeedReaction_ReactionType[keyof typeof FeedReaction_ReactionType];
declare namespace FeedReaction_ReactionType {
    type UNKNOWN = typeof FeedReaction_ReactionType.UNKNOWN;
    type LIKE = typeof FeedReaction_ReactionType.LIKE;
    type EMOJI = typeof FeedReaction_ReactionType.EMOJI;
    type VIEW = typeof FeedReaction_ReactionType.VIEW;
    type VOTE = typeof FeedReaction_ReactionType.VOTE;
    type UNRECOGNIZED = typeof FeedReaction_ReactionType.UNRECOGNIZED;
}
interface FeedUser {
    /** Entity Base */
    entityType: string;
    entityId: string;
    createdAt: number;
    updatedAt: number;
    Deleted: boolean;
    syncError: FeedSyncError | undefined;
    isSynced: boolean;
    /** Custom Fields */
    name: string;
    profilePic: string;
    username: string;
    profilePic32: string;
    profilePic64: string;
    profilePic128: string;
    userType: UserType;
    roles: User_PlatformRole[];
    isPlatformPolice: boolean;
}
interface FeedForumFeed {
    /** Entity Base */
    entityId: string;
    createdAt: number;
    updatedAt: number;
    isDeleted: boolean;
    /** Feed Fields */
    rootPostCount: number;
    postCount: number;
    collectionIdentifier: string;
    feedType: string;
    sortKey: string;
    /** Custom Fields */
    bannerImage: FileAttachment | undefined;
    whoCanPost: FeedForumFeed_MemberPermissionType;
    whoCanComment: FeedForumFeed_MemberPermissionType;
    layoutType: FeedForumFeed_LayoutType;
    discordWebhookUrl: string;
    telegramChannelId: string;
    emailNotificationPreference: FeedForumFeed_EmailNotificationPreferenceType;
}
declare const FeedForumFeed_MemberPermissionType: {
    readonly UNKNOWN_PERMISSION: "UNKNOWN_PERMISSION";
    readonly EVERYONE: "EVERYONE";
    readonly ADMINS: "ADMINS";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type FeedForumFeed_MemberPermissionType = typeof FeedForumFeed_MemberPermissionType[keyof typeof FeedForumFeed_MemberPermissionType];
declare namespace FeedForumFeed_MemberPermissionType {
    type UNKNOWN_PERMISSION = typeof FeedForumFeed_MemberPermissionType.UNKNOWN_PERMISSION;
    type EVERYONE = typeof FeedForumFeed_MemberPermissionType.EVERYONE;
    type ADMINS = typeof FeedForumFeed_MemberPermissionType.ADMINS;
    type UNRECOGNIZED = typeof FeedForumFeed_MemberPermissionType.UNRECOGNIZED;
}
declare const FeedForumFeed_LayoutType: {
    readonly UNKNOWN_LAYOUT: "UNKNOWN_LAYOUT";
    readonly FEED: "FEED";
    readonly BLOG: "BLOG";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type FeedForumFeed_LayoutType = typeof FeedForumFeed_LayoutType[keyof typeof FeedForumFeed_LayoutType];
declare namespace FeedForumFeed_LayoutType {
    type UNKNOWN_LAYOUT = typeof FeedForumFeed_LayoutType.UNKNOWN_LAYOUT;
    type FEED = typeof FeedForumFeed_LayoutType.FEED;
    type BLOG = typeof FeedForumFeed_LayoutType.BLOG;
    type UNRECOGNIZED = typeof FeedForumFeed_LayoutType.UNRECOGNIZED;
}
declare const FeedForumFeed_EmailNotificationPreferenceType: {
    readonly UNKNOWN_PREFERENCE: "UNKNOWN_PREFERENCE";
    readonly ALL_ADMIN_POSTS: "ALL_ADMIN_POSTS";
    readonly ONLY_WEEKLY_SUMMARY: "ONLY_WEEKLY_SUMMARY";
    readonly NONE: "NONE";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type FeedForumFeed_EmailNotificationPreferenceType = typeof FeedForumFeed_EmailNotificationPreferenceType[keyof typeof FeedForumFeed_EmailNotificationPreferenceType];
declare namespace FeedForumFeed_EmailNotificationPreferenceType {
    type UNKNOWN_PREFERENCE = typeof FeedForumFeed_EmailNotificationPreferenceType.UNKNOWN_PREFERENCE;
    type ALL_ADMIN_POSTS = typeof FeedForumFeed_EmailNotificationPreferenceType.ALL_ADMIN_POSTS;
    type ONLY_WEEKLY_SUMMARY = typeof FeedForumFeed_EmailNotificationPreferenceType.ONLY_WEEKLY_SUMMARY;
    type NONE = typeof FeedForumFeed_EmailNotificationPreferenceType.NONE;
    type UNRECOGNIZED = typeof FeedForumFeed_EmailNotificationPreferenceType.UNRECOGNIZED;
}
interface MuxAsset {
    assetId?: string | undefined;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    duration?: string | undefined;
    finishedUploadingAt?: string | undefined;
    id: string;
    playbackId?: string | undefined;
    resourceId?: string | undefined;
    resourceType?: string | undefined;
    signedPlaybackId?: string | undefined;
    status: MuxAsset_MuxAssetStatus;
    signedVideoPlaybackToken?: string | undefined;
    signedStoryboardPlaybackToken?: string | undefined;
    signedThumbnailPlaybackToken?: string | undefined;
}
declare const MuxAsset_MuxAssetStatus: {
    readonly UNKNOWN: "UNKNOWN";
    readonly UPLOADING: "UPLOADING";
    readonly CREATED: "CREATED";
    readonly READY: "READY";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type MuxAsset_MuxAssetStatus = typeof MuxAsset_MuxAssetStatus[keyof typeof MuxAsset_MuxAssetStatus];
declare namespace MuxAsset_MuxAssetStatus {
    type UNKNOWN = typeof MuxAsset_MuxAssetStatus.UNKNOWN;
    type UPLOADING = typeof MuxAsset_MuxAssetStatus.UPLOADING;
    type CREATED = typeof MuxAsset_MuxAssetStatus.CREATED;
    type READY = typeof MuxAsset_MuxAssetStatus.READY;
    type UNRECOGNIZED = typeof MuxAsset_MuxAssetStatus.UNRECOGNIZED;
}
interface Poll {
    options: Poll_PollOption[];
}
interface Poll_PollOption {
    id: string;
    text: string;
}
interface PostReactionCount {
    reactionType: PostReactionCount_ReactionType;
    value: string;
    totalScore: number;
    userCount: number;
}
declare const PostReactionCount_ReactionType: {
    readonly UNKNOWN: "UNKNOWN";
    readonly LIKE: "LIKE";
    readonly EMOJI: "EMOJI";
    readonly VIEW: "VIEW";
    readonly VOTE: "VOTE";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type PostReactionCount_ReactionType = typeof PostReactionCount_ReactionType[keyof typeof PostReactionCount_ReactionType];
declare namespace PostReactionCount_ReactionType {
    type UNKNOWN = typeof PostReactionCount_ReactionType.UNKNOWN;
    type LIKE = typeof PostReactionCount_ReactionType.LIKE;
    type EMOJI = typeof PostReactionCount_ReactionType.EMOJI;
    type VIEW = typeof PostReactionCount_ReactionType.VIEW;
    type VOTE = typeof PostReactionCount_ReactionType.VOTE;
    type UNRECOGNIZED = typeof PostReactionCount_ReactionType.UNRECOGNIZED;
}
interface FeedPostReactionCountUpdate {
    postId: string;
    postType: string;
    feedId: string;
    feedType: string;
    /**
     * Contains a bitmask of the fields that were updated.
     * Only apply the fields that were updated.
     * Eg if this contains the number 3 (0b00000011), then the view count and post reaction counts were updated.
     * If this contains the number 1 (0b00000001), then only the view count was updated.
     * If this contains the number 2 (0b00000010), then only the post reaction counts were updated.
     * This is needed because "optional repeated" fields are not supported in the protobuf spec.
     */
    updatedFieldsBitmask: number;
    /** Position zero in the bitmask (0b00000001) is the view count */
    viewCount?: number | undefined;
    /** Position one in the bitmask (0b00000010) is the post reaction counts */
    postReactionCounts: PostReactionCount[];
    /**
     * Position two in the bitmask (0b00000100) is the single post reaction count
     * This may be sent by the backend to indicate that a single post reaction count was updated. The frontend should keep all other post reaction counts the same.
     * Only the score and user_count fields may be updated by the backend, the rest indicate which reaction was updated
     */
    singleReactionCountUpdate?: PostReactionCount | undefined;
    /** Position three in the bitmask (0b00001000) is the comment count */
    commentCount?: number | undefined;
}
interface FeedForumPost {
    /** Entity Base */
    entityId: string;
    createdAt: number;
    updatedAt: number;
    isDeleted: boolean;
    sortKey: string;
    /** Custom Fields */
    feedId: string;
    userId: string;
    parentId?: string | undefined;
    isEdited: boolean;
    title?: string | undefined;
    content: string;
    richContent: string;
    childrenCount: number;
    /**
     * Deprecated in favor of post_reaction_counts
     *
     * @deprecated
     */
    reactionCounts: FeedForumPost_ReactionCounts | undefined;
    attachments: FileAttachment[];
    gifs: FeedForumPost_GiphyGif[];
    links: FeedForumPost_LinkEmbed[];
    isPinned: boolean;
    mentionedUserIds: string[];
    lineItem?: FeedForumPost_LineItem | undefined;
    muxAssets: MuxAsset[];
    poll?: Poll | undefined;
    isPosterAdmin: boolean;
    postReactionCounts: PostReactionCount[];
    forumPostType: FeedForumPost_ForumPostType;
    embed?: PostEmbed | undefined;
    user: User | undefined;
    commentCount: number;
    viewCount: number;
    experienceId?: string | undefined;
    markdownContent: string;
}
declare const FeedForumPost_ForumPostType: {
    readonly UNKNOWN_TYPE: "UNKNOWN_TYPE";
    readonly REGULAR: "REGULAR";
    readonly AUTOMATED: "AUTOMATED";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type FeedForumPost_ForumPostType = typeof FeedForumPost_ForumPostType[keyof typeof FeedForumPost_ForumPostType];
declare namespace FeedForumPost_ForumPostType {
    type UNKNOWN_TYPE = typeof FeedForumPost_ForumPostType.UNKNOWN_TYPE;
    type REGULAR = typeof FeedForumPost_ForumPostType.REGULAR;
    type AUTOMATED = typeof FeedForumPost_ForumPostType.AUTOMATED;
    type UNRECOGNIZED = typeof FeedForumPost_ForumPostType.UNRECOGNIZED;
}
interface FeedForumPost_GiphyGif {
    title: string;
    url: string;
    originalUrl: string;
    previewUrl: string;
    width: number;
    height: number;
    slug: string;
}
interface FeedForumPost_ReactionCount {
    score: number;
    count: number;
}
interface FeedForumPost_ReactionCounts {
    counts: {
        [key: string]: FeedForumPost_ReactionCount;
    };
}
interface FeedForumPost_ReactionCounts_CountsEntry {
    key: string;
    value: FeedForumPost_ReactionCount | undefined;
}
interface FeedForumPost_LinkEmbed {
    url: string;
    title: string;
    description: string;
    image: string;
    favicon: string;
    processing: boolean;
}
interface FeedForumPost_LineItem {
    id: string;
    title: string;
    amount: Money | undefined;
    redirectUrl: string;
}
interface PostEmbed {
    richEmbeds?: RichEmbedContainer | undefined;
}
interface RichEmbedContainer {
    embeds: RichEmbed[];
}
/** close enough to mirror a discord style rich embed. https://discord.com/developers/docs/resources/message#embed-object */
interface RichEmbed {
    color?: number | undefined;
    title?: string | undefined;
    url?: string | undefined;
    description?: string | undefined;
    timestamp?: string | undefined;
    thumbnail?: FileAttachment | undefined;
    image?: FileAttachment | undefined;
    footer?: RichEmbed_Footer | undefined;
    fields: RichEmbed_Field[];
}
interface RichEmbed_Field {
    name: string;
    value: string;
    inline: boolean;
}
interface RichEmbed_Footer {
    text: string;
    icon?: FileAttachment | undefined;
}
interface FeedDmsUnreadBadgeUpdate {
    count: number;
    feedId: string;
    lastViewedAt: string | undefined;
}
interface SupportTicketBadgeUpdate {
    openCount: number;
    botId: string;
}
interface FeedService {
    /** @deprecated */
    SendFeedEntityToUser(request: SendFeedEntityToUserRequest): Promise<SendFeedEntityToUserResponse>;
}

interface Bounty {
    id: string;
    baseUnitAmount: number;
    budget: Money | undefined;
    rewardPerUnit: Money | undefined;
    totalPaid: Money | undefined;
    bountySubmissionsCount: number;
    description: string;
    richDescription: string;
    title: string;
    user: User | undefined;
    status: Bounty_BountyStatus;
    allowInstagram: boolean;
    allowTiktok: boolean;
    allowYoutube: boolean;
    allowX: boolean;
    allowPayoutMultiples: boolean;
    allowMultipleSubmissions: boolean;
    rewardUnit: Bounty_BountyRewardUnit;
    createdAt: string | undefined;
    updatedAt: string | undefined;
}
declare const Bounty_BountyStatus: {
    readonly UNKNOWN_STATUS: "UNKNOWN_STATUS";
    readonly PUBLISHED: "PUBLISHED";
    readonly ARCHIVED: "ARCHIVED";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type Bounty_BountyStatus = typeof Bounty_BountyStatus[keyof typeof Bounty_BountyStatus];
declare namespace Bounty_BountyStatus {
    type UNKNOWN_STATUS = typeof Bounty_BountyStatus.UNKNOWN_STATUS;
    type PUBLISHED = typeof Bounty_BountyStatus.PUBLISHED;
    type ARCHIVED = typeof Bounty_BountyStatus.ARCHIVED;
    type UNRECOGNIZED = typeof Bounty_BountyStatus.UNRECOGNIZED;
}
declare const Bounty_BountyRewardUnit: {
    readonly UNKNOWN_REWARD_UNIT: "UNKNOWN_REWARD_UNIT";
    readonly PER_SUBMISSION: "PER_SUBMISSION";
    readonly PER_VIEW: "PER_VIEW";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type Bounty_BountyRewardUnit = typeof Bounty_BountyRewardUnit[keyof typeof Bounty_BountyRewardUnit];
declare namespace Bounty_BountyRewardUnit {
    type UNKNOWN_REWARD_UNIT = typeof Bounty_BountyRewardUnit.UNKNOWN_REWARD_UNIT;
    type PER_SUBMISSION = typeof Bounty_BountyRewardUnit.PER_SUBMISSION;
    type PER_VIEW = typeof Bounty_BountyRewardUnit.PER_VIEW;
    type UNRECOGNIZED = typeof Bounty_BountyRewardUnit.UNRECOGNIZED;
}
interface BountySubmission {
    id: string;
    bountyId: string;
    user: User | undefined;
    content?: string | undefined;
    denialReason?: string | undefined;
    status: BountySubmission_BountySubmissionStatus;
    createdAt: string | undefined;
    updatedAt: string | undefined;
}
declare const BountySubmission_BountySubmissionStatus: {
    readonly UNKNOWN_STATUS: "UNKNOWN_STATUS";
    readonly PENDING: "PENDING";
    readonly APPROVED: "APPROVED";
    readonly DENIED: "DENIED";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type BountySubmission_BountySubmissionStatus = typeof BountySubmission_BountySubmissionStatus[keyof typeof BountySubmission_BountySubmissionStatus];
declare namespace BountySubmission_BountySubmissionStatus {
    type UNKNOWN_STATUS = typeof BountySubmission_BountySubmissionStatus.UNKNOWN_STATUS;
    type PENDING = typeof BountySubmission_BountySubmissionStatus.PENDING;
    type APPROVED = typeof BountySubmission_BountySubmissionStatus.APPROVED;
    type DENIED = typeof BountySubmission_BountySubmissionStatus.DENIED;
    type UNRECOGNIZED = typeof BountySubmission_BountySubmissionStatus.UNRECOGNIZED;
}

interface Availability {
    id: string;
    host?: User | undefined;
    title: string;
    durationInMinutes: number;
    tagline?: string | undefined;
    description?: string | undefined;
    price?: Money | undefined;
    timezone?: string | undefined;
    location?: string | undefined;
    meetingLink?: string | undefined;
    createdAt: string | undefined;
    updatedAt: string | undefined;
}
interface Booking {
    id: string;
    user: User | undefined;
    availabilityId: string;
    startsAt: string | undefined;
    endsAt: string | undefined;
    reservedUntil?: string | undefined;
    canceledAt?: string | undefined;
    createdAt: string | undefined;
    updatedAt: string | undefined;
}

interface ContentDocument {
    id: string;
    title?: string | undefined;
    content?: string | undefined;
    createdAt: string | undefined;
    updatedAt: string | undefined;
}

declare const ContentPlatform: {
    readonly UNKNOWN_PLATFORM: "UNKNOWN_PLATFORM";
    readonly INSTAGRAM: "INSTAGRAM";
    readonly TIKTOK: "TIKTOK";
    readonly X: "X";
    readonly YOUTUBE: "YOUTUBE";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type ContentPlatform = typeof ContentPlatform[keyof typeof ContentPlatform];
declare namespace ContentPlatform {
    type UNKNOWN_PLATFORM = typeof ContentPlatform.UNKNOWN_PLATFORM;
    type INSTAGRAM = typeof ContentPlatform.INSTAGRAM;
    type TIKTOK = typeof ContentPlatform.TIKTOK;
    type X = typeof ContentPlatform.X;
    type YOUTUBE = typeof ContentPlatform.YOUTUBE;
    type UNRECOGNIZED = typeof ContentPlatform.UNRECOGNIZED;
}
interface ContentRewardsCampaign {
    id: string;
    allowInstagram: boolean;
    allowTiktok: boolean;
    allowX: boolean;
    allowYoutube: boolean;
    totalBudget: Money | undefined;
    category: ContentRewardsCampaign_Category;
    contentType: ContentRewardsCampaign_ContentType;
    expiresAt?: string | undefined;
    pendingSubmissionsCount: number;
    requirements: string[];
    rewardRatePerThousandViews: Money | undefined;
    status: ContentRewardsCampaign_Status;
    submissionsCount: number;
    title: string;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    totalPaid: Money | undefined;
    fileUploadRequired: boolean;
    totalViewCount: number;
    autoApproveSubmissionsInHours?: number | undefined;
    requiredDescriptionText: string[];
    requiredCreatorBioLink?: string | undefined;
    requiredTiktokAudio?: string | undefined;
    requiredInstagramAudio?: string | undefined;
    fixedRewardPerSubmission?: Money | undefined;
    totalPendingPayouts: Money | undefined;
}
declare const ContentRewardsCampaign_Status: {
    readonly UNKNOWN: "UNKNOWN";
    readonly ACTIVE: "ACTIVE";
    readonly PENDING: "PENDING";
    readonly EXPIRED: "EXPIRED";
    readonly ARCHIVED: "ARCHIVED";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type ContentRewardsCampaign_Status = typeof ContentRewardsCampaign_Status[keyof typeof ContentRewardsCampaign_Status];
declare namespace ContentRewardsCampaign_Status {
    type UNKNOWN = typeof ContentRewardsCampaign_Status.UNKNOWN;
    type ACTIVE = typeof ContentRewardsCampaign_Status.ACTIVE;
    type PENDING = typeof ContentRewardsCampaign_Status.PENDING;
    type EXPIRED = typeof ContentRewardsCampaign_Status.EXPIRED;
    type ARCHIVED = typeof ContentRewardsCampaign_Status.ARCHIVED;
    type UNRECOGNIZED = typeof ContentRewardsCampaign_Status.UNRECOGNIZED;
}
declare const ContentRewardsCampaign_ContentType: {
    readonly UNKNOWN_CONTENT_TYPE: "UNKNOWN_CONTENT_TYPE";
    readonly UGC: "UGC";
    readonly CLIPPING: "CLIPPING";
    /** @deprecated */
    readonly FACELESS: "FACELESS";
    readonly OTHER_CONTENT_TYPE: "OTHER_CONTENT_TYPE";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type ContentRewardsCampaign_ContentType = typeof ContentRewardsCampaign_ContentType[keyof typeof ContentRewardsCampaign_ContentType];
declare namespace ContentRewardsCampaign_ContentType {
    type UNKNOWN_CONTENT_TYPE = typeof ContentRewardsCampaign_ContentType.UNKNOWN_CONTENT_TYPE;
    type UGC = typeof ContentRewardsCampaign_ContentType.UGC;
    type CLIPPING = typeof ContentRewardsCampaign_ContentType.CLIPPING;
    type FACELESS = typeof ContentRewardsCampaign_ContentType.FACELESS;
    type OTHER_CONTENT_TYPE = typeof ContentRewardsCampaign_ContentType.OTHER_CONTENT_TYPE;
    type UNRECOGNIZED = typeof ContentRewardsCampaign_ContentType.UNRECOGNIZED;
}
declare const ContentRewardsCampaign_Category: {
    readonly UNKNOWN_CATEGORY: "UNKNOWN_CATEGORY";
    /** @deprecated */
    readonly CREATOR: "CREATOR";
    /** @deprecated */
    readonly BRAND: "BRAND";
    /** @deprecated */
    readonly INFLUENCER: "INFLUENCER";
    /** @deprecated */
    readonly STREAMER: "STREAMER";
    /** @deprecated */
    readonly MUSICIAN: "MUSICIAN";
    readonly OTHER: "OTHER";
    /** @deprecated */
    readonly ECOMMERCE: "ECOMMERCE";
    readonly LOGO: "LOGO";
    readonly MUSIC: "MUSIC";
    /** @deprecated */
    readonly PODCAST: "PODCAST";
    /** @deprecated */
    readonly SOFTWARE: "SOFTWARE";
    /** @deprecated */
    readonly STREAM: "STREAM";
    readonly ENTERTAINMENT: "ENTERTAINMENT";
    readonly PRODUCTS: "PRODUCTS";
    readonly PERSONAL_BRAND: "PERSONAL_BRAND";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type ContentRewardsCampaign_Category = typeof ContentRewardsCampaign_Category[keyof typeof ContentRewardsCampaign_Category];
declare namespace ContentRewardsCampaign_Category {
    type UNKNOWN_CATEGORY = typeof ContentRewardsCampaign_Category.UNKNOWN_CATEGORY;
    type CREATOR = typeof ContentRewardsCampaign_Category.CREATOR;
    type BRAND = typeof ContentRewardsCampaign_Category.BRAND;
    type INFLUENCER = typeof ContentRewardsCampaign_Category.INFLUENCER;
    type STREAMER = typeof ContentRewardsCampaign_Category.STREAMER;
    type MUSICIAN = typeof ContentRewardsCampaign_Category.MUSICIAN;
    type OTHER = typeof ContentRewardsCampaign_Category.OTHER;
    type ECOMMERCE = typeof ContentRewardsCampaign_Category.ECOMMERCE;
    type LOGO = typeof ContentRewardsCampaign_Category.LOGO;
    type MUSIC = typeof ContentRewardsCampaign_Category.MUSIC;
    type PODCAST = typeof ContentRewardsCampaign_Category.PODCAST;
    type SOFTWARE = typeof ContentRewardsCampaign_Category.SOFTWARE;
    type STREAM = typeof ContentRewardsCampaign_Category.STREAM;
    type ENTERTAINMENT = typeof ContentRewardsCampaign_Category.ENTERTAINMENT;
    type PRODUCTS = typeof ContentRewardsCampaign_Category.PRODUCTS;
    type PERSONAL_BRAND = typeof ContentRewardsCampaign_Category.PERSONAL_BRAND;
    type UNRECOGNIZED = typeof ContentRewardsCampaign_Category.UNRECOGNIZED;
}
interface ContentRewardsSubmission {
    id: string;
    totalPaid: Money | undefined;
    totalViewCount: number;
    contentUrl: string;
    platform: ContentPlatform;
    status: ContentRewardsSubmission_Status;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    campaignId: string;
    platformPostId?: string | undefined;
    userId: string;
    user: User | undefined;
    attachments: FileAttachment[];
    totalLikeCount: number;
    totalCommentCount: number;
    totalSaveCount: number;
    totalShareCount: number;
    totalRepostCount: number;
}
declare const ContentRewardsSubmission_Status: {
    readonly UNKNOWN: "UNKNOWN";
    readonly PENDING: "PENDING";
    readonly APPROVED: "APPROVED";
    readonly REJECTED: "REJECTED";
    readonly FLAGGED: "FLAGGED";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type ContentRewardsSubmission_Status = typeof ContentRewardsSubmission_Status[keyof typeof ContentRewardsSubmission_Status];
declare namespace ContentRewardsSubmission_Status {
    type UNKNOWN = typeof ContentRewardsSubmission_Status.UNKNOWN;
    type PENDING = typeof ContentRewardsSubmission_Status.PENDING;
    type APPROVED = typeof ContentRewardsSubmission_Status.APPROVED;
    type REJECTED = typeof ContentRewardsSubmission_Status.REJECTED;
    type FLAGGED = typeof ContentRewardsSubmission_Status.FLAGGED;
    type UNRECOGNIZED = typeof ContentRewardsSubmission_Status.UNRECOGNIZED;
}
interface ContentRewardsMessage {
    contentRewardsCampaign?: ContentRewardsCampaign | undefined;
    contentRewardsSubmission?: ContentRewardsSubmission | undefined;
}

interface Course {
    id: string;
    title?: string | undefined;
    tagline?: string | undefined;
    description?: string | undefined;
    coverImageUrl?: string | undefined;
    lessonsCount: number;
    createdAt: string | undefined;
    updatedAt: string | undefined;
}

interface Event {
    id: string;
    title: string;
    description?: string | undefined;
    maxCapacity?: number | undefined;
    recordingUrl?: string | undefined;
    thumbnailUrl?: string | undefined;
    recurringRule?: Event_RecurringRule | undefined;
    rrule?: string | undefined;
    seriesEndsAt?: string | undefined;
    startsAt: string | undefined;
    endsAt: string | undefined;
    location?: string | undefined;
    locationType: Event_LocationType;
    rsvpsCount: number;
    rsvpUsers: User[];
    hostName?: string | undefined;
    hostUser?: User | undefined;
    createdAt: string | undefined;
    updatedAt: string | undefined;
}
declare const Event_LocationType: {
    readonly UNKNOWN_LOCATION_TYPE: "UNKNOWN_LOCATION_TYPE";
    readonly OFFLINE: "OFFLINE";
    readonly ONLINE: "ONLINE";
    readonly ZOOM: "ZOOM";
    readonly GOOGLE_MEET: "GOOGLE_MEET";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type Event_LocationType = typeof Event_LocationType[keyof typeof Event_LocationType];
declare namespace Event_LocationType {
    type UNKNOWN_LOCATION_TYPE = typeof Event_LocationType.UNKNOWN_LOCATION_TYPE;
    type OFFLINE = typeof Event_LocationType.OFFLINE;
    type ONLINE = typeof Event_LocationType.ONLINE;
    type ZOOM = typeof Event_LocationType.ZOOM;
    type GOOGLE_MEET = typeof Event_LocationType.GOOGLE_MEET;
    type UNRECOGNIZED = typeof Event_LocationType.UNRECOGNIZED;
}
declare const Event_RecurringRule: {
    readonly UNKNOWN_RECURRING_RULE: "UNKNOWN_RECURRING_RULE";
    readonly DAILY: "DAILY";
    readonly WEEKLY: "WEEKLY";
    readonly MONTHLY: "MONTHLY";
    readonly YEARLY: "YEARLY";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type Event_RecurringRule = typeof Event_RecurringRule[keyof typeof Event_RecurringRule];
declare namespace Event_RecurringRule {
    type UNKNOWN_RECURRING_RULE = typeof Event_RecurringRule.UNKNOWN_RECURRING_RULE;
    type DAILY = typeof Event_RecurringRule.DAILY;
    type WEEKLY = typeof Event_RecurringRule.WEEKLY;
    type MONTHLY = typeof Event_RecurringRule.MONTHLY;
    type YEARLY = typeof Event_RecurringRule.YEARLY;
    type UNRECOGNIZED = typeof Event_RecurringRule.UNRECOGNIZED;
}

interface Wheel {
    id: string;
    hasCustomPrizes: boolean;
    createdAt: string | undefined;
    updatedAt: string | undefined;
}
interface Spin {
    id: string;
    wheelId: string;
    user: User | undefined;
    prize: Prize | undefined;
    status: Spin_SpinStatus;
    createdAt: string | undefined;
    updatedAt: string | undefined;
}
declare const Spin_SpinStatus: {
    readonly UNKNOWN_SPIN_STATUS: "UNKNOWN_SPIN_STATUS";
    readonly WON: "WON";
    readonly LOST: "LOST";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type Spin_SpinStatus = typeof Spin_SpinStatus[keyof typeof Spin_SpinStatus];
declare namespace Spin_SpinStatus {
    type UNKNOWN_SPIN_STATUS = typeof Spin_SpinStatus.UNKNOWN_SPIN_STATUS;
    type WON = typeof Spin_SpinStatus.WON;
    type LOST = typeof Spin_SpinStatus.LOST;
    type UNRECOGNIZED = typeof Spin_SpinStatus.UNRECOGNIZED;
}
interface Prize {
    id: string;
    name: string;
    imageUrl?: string | undefined;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    testingIgnore?: string | undefined;
}

interface PreviewContent {
    experienceId: string;
    lastActivityAt: string | undefined;
    genericCard?: GenericCard | undefined;
    chatCard?: ChatCard | undefined;
    forumCard?: ForumCard | undefined;
    contentRewardsCard?: ContentRewardsCard | undefined;
    livestreamingCard?: LivestreamingCard | undefined;
    bountiesCard?: BountiesCard | undefined;
    eventsCard?: EventsCard | undefined;
    calendarBookingsCard?: CalendarBookingsCard | undefined;
    wheelCard?: WheelCard | undefined;
    coursesCard?: CoursesCard | undefined;
    contentCard?: ContentCard | undefined;
}
interface ChatCard {
    recentMessages: FeedDmsPost[];
}
interface ForumCard {
    post: FeedForumPost | undefined;
    latestComment?: FeedForumPost | undefined;
}
interface ContentRewardsCard {
    campaign: ContentRewardsCampaign | undefined;
    latestSubmission?: ContentRewardsSubmission | undefined;
    hottestSubmission?: ContentRewardsSubmission | undefined;
}
interface LivestreamingCard {
    livestreamFeed: FeedLivestreamFeed | undefined;
}
interface BountiesCard {
    bounty: Bounty | undefined;
    latestSubmission?: BountySubmission | undefined;
}
interface EventsCard {
    event: Event | undefined;
}
interface CalendarBookingsCard {
    availability: Availability | undefined;
    latestBooking?: Booking | undefined;
}
interface WheelCard {
    wheel: Wheel | undefined;
    latestSpin?: Spin | undefined;
}
interface CoursesCard {
    course: Course | undefined;
}
interface ContentCard {
    contentDocument: ContentDocument | undefined;
}
interface GenericCard {
    title: string;
    description?: string | undefined;
    imageUrl?: string | undefined;
    ctaText?: string | undefined;
    user?: User | undefined;
}
interface BatchGetExperiencePreviewContentRequest {
    experienceIds: string[];
}
interface BatchGetExperiencePreviewContentResponse {
    experiencePreviewContentResponses: BatchGetExperiencePreviewContentResponse_ExperiencePreviewContentResponse[];
}
interface BatchGetExperiencePreviewContentResponse_ExperiencePreviewContentResponse {
    experienceId: string;
    websocketMessageBytes: Uint8Array;
}

interface Experience {
    id: string;
    name: string;
    app: App | undefined;
    bot: Bot | undefined;
    imageUrl: string;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    lastActivityAt: string | undefined;
    botId: string;
    appId: string;
    discardedAt?: string | undefined;
    previewContent?: PreviewContent | undefined;
    wentLiveAt?: string | undefined;
    areScreenshotsAllowed: boolean;
    description?: string | undefined;
    logo?: FileAttachment | undefined;
    expiresAt?: string | undefined;
    order?: number | undefined;
    sectionId?: string | undefined;
}
interface UserExperience {
    discardedAt?: string | undefined;
    firstGainedAccessAt?: string | undefined;
    isAuthorizedUser?: boolean | undefined;
    lastGainedAccessAt?: string | undefined;
    lastLostAccessAt?: string | undefined;
    lastViewedAt?: string | undefined;
    createdAt: string | undefined;
    updatedAt: string | undefined;
    botId: string;
    experienceId: string;
    userId: string;
    autoId: number;
    sourceAccessPassIds: string[];
}

interface Notification {
    id: string;
    subject: string;
    content: string;
    primaryImage: string;
    secondaryImage: string;
    restPath: string;
    createdAt: string | undefined;
    bot?: Bot | undefined;
    experience?: Experience | undefined;
    notificationTopic: NotificationTopic | undefined;
    link?: string | undefined;
    iframeLink?: string | undefined;
    senderUser?: User | undefined;
}
interface GoFetchNotifications {
    entityId: string;
    entityType: GoFetchNotifications_NotifyingEntityType;
    /** If true, the client should refetch the badge for this entity. */
    mayIncrementBadgeCount: boolean;
    /** A unique identifier that can be used to fetch the associated notification from the backend. */
    notificationId: string;
}
declare const GoFetchNotifications_NotifyingEntityType: {
    readonly UNKNOWN: "UNKNOWN";
    readonly GENERIC: "GENERIC";
    readonly EXPERIENCE: "EXPERIENCE";
    readonly COMPANY: "COMPANY";
    readonly COMPANY_TEAM: "COMPANY_TEAM";
    readonly ACCESS_PASS: "ACCESS_PASS";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type GoFetchNotifications_NotifyingEntityType = typeof GoFetchNotifications_NotifyingEntityType[keyof typeof GoFetchNotifications_NotifyingEntityType];
declare namespace GoFetchNotifications_NotifyingEntityType {
    type UNKNOWN = typeof GoFetchNotifications_NotifyingEntityType.UNKNOWN;
    type GENERIC = typeof GoFetchNotifications_NotifyingEntityType.GENERIC;
    type EXPERIENCE = typeof GoFetchNotifications_NotifyingEntityType.EXPERIENCE;
    type COMPANY = typeof GoFetchNotifications_NotifyingEntityType.COMPANY;
    type COMPANY_TEAM = typeof GoFetchNotifications_NotifyingEntityType.COMPANY_TEAM;
    type ACCESS_PASS = typeof GoFetchNotifications_NotifyingEntityType.ACCESS_PASS;
    type UNRECOGNIZED = typeof GoFetchNotifications_NotifyingEntityType.UNRECOGNIZED;
}
interface SendNotificationToUserRequest {
    userId: string;
    notification: Notification | undefined;
    userIds: string[];
}
interface SendNotificationToUserResponse {
    sent: boolean;
}
interface NotificationService {
    SendNotificationToUser(request: SendNotificationToUserRequest): Promise<SendNotificationToUserResponse>;
}

interface ProductSurface {
    surfaceType: ProductSurface_SurfaceType;
    botId?: string | undefined;
    accessPassId?: string | undefined;
    appId?: string | undefined;
    experienceId?: string | undefined;
    accessType?: AccessType | undefined;
    planId?: string | undefined;
    profileUserId?: string | undefined;
    viewContext?: ProductSurface_ViewContext | undefined;
    discoverSection?: ProductSurface_DiscoverSection | undefined;
    universalPostId?: string | undefined;
    feedTab?: ProductSurface_FeedTab | undefined;
}
declare const ProductSurface_ViewContext: {
    readonly VIEW_CTX_UNKNOWN: "VIEW_CTX_UNKNOWN";
    /** VIEW_CTX_WHOP - / The user is viewing from inside a whop view. */
    readonly VIEW_CTX_WHOP: "VIEW_CTX_WHOP";
    /** VIEW_CTX_HOME_FEED - / The user is viewing from the home feed */
    readonly VIEW_CTX_HOME_FEED: "VIEW_CTX_HOME_FEED";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type ProductSurface_ViewContext = typeof ProductSurface_ViewContext[keyof typeof ProductSurface_ViewContext];
declare namespace ProductSurface_ViewContext {
    type VIEW_CTX_UNKNOWN = typeof ProductSurface_ViewContext.VIEW_CTX_UNKNOWN;
    type VIEW_CTX_WHOP = typeof ProductSurface_ViewContext.VIEW_CTX_WHOP;
    type VIEW_CTX_HOME_FEED = typeof ProductSurface_ViewContext.VIEW_CTX_HOME_FEED;
    type UNRECOGNIZED = typeof ProductSurface_ViewContext.UNRECOGNIZED;
}
declare const ProductSurface_DiscoverSection: {
    readonly DISCOVER_UNKNOWN: "DISCOVER_UNKNOWN";
    readonly DISCOVER_LEADERBOARDS: "DISCOVER_LEADERBOARDS";
    readonly DISCOVER_FOR_YOU: "DISCOVER_FOR_YOU";
    readonly DISCOVER_EXPLORE: "DISCOVER_EXPLORE";
    readonly DISCOVER_SEARCH: "DISCOVER_SEARCH";
    readonly DISCOVER_CATEGORIES: "DISCOVER_CATEGORIES";
    readonly DISCOVER_COLLECTIONS: "DISCOVER_COLLECTIONS";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type ProductSurface_DiscoverSection = typeof ProductSurface_DiscoverSection[keyof typeof ProductSurface_DiscoverSection];
declare namespace ProductSurface_DiscoverSection {
    type DISCOVER_UNKNOWN = typeof ProductSurface_DiscoverSection.DISCOVER_UNKNOWN;
    type DISCOVER_LEADERBOARDS = typeof ProductSurface_DiscoverSection.DISCOVER_LEADERBOARDS;
    type DISCOVER_FOR_YOU = typeof ProductSurface_DiscoverSection.DISCOVER_FOR_YOU;
    type DISCOVER_EXPLORE = typeof ProductSurface_DiscoverSection.DISCOVER_EXPLORE;
    type DISCOVER_SEARCH = typeof ProductSurface_DiscoverSection.DISCOVER_SEARCH;
    type DISCOVER_CATEGORIES = typeof ProductSurface_DiscoverSection.DISCOVER_CATEGORIES;
    type DISCOVER_COLLECTIONS = typeof ProductSurface_DiscoverSection.DISCOVER_COLLECTIONS;
    type UNRECOGNIZED = typeof ProductSurface_DiscoverSection.UNRECOGNIZED;
}
declare const ProductSurface_FeedTab: {
    readonly FEED_TAB_UNKNOWN: "FEED_TAB_UNKNOWN";
    readonly FEED_TAB_HOME: "FEED_TAB_HOME";
    readonly FEED_TAB_EARN: "FEED_TAB_EARN";
    readonly FEED_TAB_CHAT: "FEED_TAB_CHAT";
    readonly FEED_TAB_LEARN: "FEED_TAB_LEARN";
    readonly FEED_TAB_CALENDAR: "FEED_TAB_CALENDAR";
    readonly FEED_TAB_PLAY: "FEED_TAB_PLAY";
    readonly FEED_TAB_INTEGRATIONS: "FEED_TAB_INTEGRATIONS";
    readonly FEED_TAB_TOOLS: "FEED_TAB_TOOLS";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type ProductSurface_FeedTab = typeof ProductSurface_FeedTab[keyof typeof ProductSurface_FeedTab];
declare namespace ProductSurface_FeedTab {
    type FEED_TAB_UNKNOWN = typeof ProductSurface_FeedTab.FEED_TAB_UNKNOWN;
    type FEED_TAB_HOME = typeof ProductSurface_FeedTab.FEED_TAB_HOME;
    type FEED_TAB_EARN = typeof ProductSurface_FeedTab.FEED_TAB_EARN;
    type FEED_TAB_CHAT = typeof ProductSurface_FeedTab.FEED_TAB_CHAT;
    type FEED_TAB_LEARN = typeof ProductSurface_FeedTab.FEED_TAB_LEARN;
    type FEED_TAB_CALENDAR = typeof ProductSurface_FeedTab.FEED_TAB_CALENDAR;
    type FEED_TAB_PLAY = typeof ProductSurface_FeedTab.FEED_TAB_PLAY;
    type FEED_TAB_INTEGRATIONS = typeof ProductSurface_FeedTab.FEED_TAB_INTEGRATIONS;
    type FEED_TAB_TOOLS = typeof ProductSurface_FeedTab.FEED_TAB_TOOLS;
    type UNRECOGNIZED = typeof ProductSurface_FeedTab.UNRECOGNIZED;
}
declare const ProductSurface_SurfaceType: {
    readonly UNKNOWN: "UNKNOWN";
    readonly EXPERIENCE: "EXPERIENCE";
    readonly WHOP: "WHOP";
    readonly CREATOR_DASHBOARD: "CREATOR_DASHBOARD";
    readonly AFFILIATE_DASHBOARD: "AFFILIATE_DASHBOARD";
    readonly DISCOVER: "DISCOVER";
    readonly HOME_FEED: "HOME_FEED";
    readonly MESSAGES: "MESSAGES";
    readonly PROFILE: "PROFILE";
    readonly NOTIFICATIONS: "NOTIFICATIONS";
    readonly USER_SETTINGS: "USER_SETTINGS";
    readonly CHECKOUT: "CHECKOUT";
    readonly AUTH: "AUTH";
    readonly OTHER: "OTHER";
    readonly USER_ONBOARDING: "USER_ONBOARDING";
    readonly LEADERBOARD: "LEADERBOARD";
    readonly SUPPORT_CHATS: "SUPPORT_CHATS";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type ProductSurface_SurfaceType = typeof ProductSurface_SurfaceType[keyof typeof ProductSurface_SurfaceType];
declare namespace ProductSurface_SurfaceType {
    type UNKNOWN = typeof ProductSurface_SurfaceType.UNKNOWN;
    type EXPERIENCE = typeof ProductSurface_SurfaceType.EXPERIENCE;
    type WHOP = typeof ProductSurface_SurfaceType.WHOP;
    type CREATOR_DASHBOARD = typeof ProductSurface_SurfaceType.CREATOR_DASHBOARD;
    type AFFILIATE_DASHBOARD = typeof ProductSurface_SurfaceType.AFFILIATE_DASHBOARD;
    type DISCOVER = typeof ProductSurface_SurfaceType.DISCOVER;
    type HOME_FEED = typeof ProductSurface_SurfaceType.HOME_FEED;
    type MESSAGES = typeof ProductSurface_SurfaceType.MESSAGES;
    type PROFILE = typeof ProductSurface_SurfaceType.PROFILE;
    type NOTIFICATIONS = typeof ProductSurface_SurfaceType.NOTIFICATIONS;
    type USER_SETTINGS = typeof ProductSurface_SurfaceType.USER_SETTINGS;
    type CHECKOUT = typeof ProductSurface_SurfaceType.CHECKOUT;
    type AUTH = typeof ProductSurface_SurfaceType.AUTH;
    type OTHER = typeof ProductSurface_SurfaceType.OTHER;
    type USER_ONBOARDING = typeof ProductSurface_SurfaceType.USER_ONBOARDING;
    type LEADERBOARD = typeof ProductSurface_SurfaceType.LEADERBOARD;
    type SUPPORT_CHATS = typeof ProductSurface_SurfaceType.SUPPORT_CHATS;
    type UNRECOGNIZED = typeof ProductSurface_SurfaceType.UNRECOGNIZED;
}
interface ProductSurfaceUpdate {
    productSurface: ProductSurface | undefined;
    isAppForegrounded: boolean;
    /** The current url or screen that the user is on - used for debugging "other" screen views. */
    currentUrl?: string | undefined;
}
interface ActiveUserBucket {
    userBucketType: ActiveUserBucket_UserBucketType;
    id?: string | undefined;
}
declare const ActiveUserBucket_UserBucketType: {
    readonly UNKNOWN: "UNKNOWN";
    readonly EXPERIENCE: "EXPERIENCE";
    readonly WHOP: "WHOP";
    readonly STORE_PAGE: "STORE_PAGE";
    readonly MESSAGES: "MESSAGES";
    readonly HOME_FEED: "HOME_FEED";
    readonly DISCOVER: "DISCOVER";
    readonly BOT: "BOT";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type ActiveUserBucket_UserBucketType = typeof ActiveUserBucket_UserBucketType[keyof typeof ActiveUserBucket_UserBucketType];
declare namespace ActiveUserBucket_UserBucketType {
    type UNKNOWN = typeof ActiveUserBucket_UserBucketType.UNKNOWN;
    type EXPERIENCE = typeof ActiveUserBucket_UserBucketType.EXPERIENCE;
    type WHOP = typeof ActiveUserBucket_UserBucketType.WHOP;
    type STORE_PAGE = typeof ActiveUserBucket_UserBucketType.STORE_PAGE;
    type MESSAGES = typeof ActiveUserBucket_UserBucketType.MESSAGES;
    type HOME_FEED = typeof ActiveUserBucket_UserBucketType.HOME_FEED;
    type DISCOVER = typeof ActiveUserBucket_UserBucketType.DISCOVER;
    type BOT = typeof ActiveUserBucket_UserBucketType.BOT;
    type UNRECOGNIZED = typeof ActiveUserBucket_UserBucketType.UNRECOGNIZED;
}
interface ActiveUsersInBucket {
    activeUserBucket: ActiveUserBucket | undefined;
    /** / The number of users in the bucket. Always set to the total number of users in the bucket. */
    userCount: number;
    /** / The list of user ids that joined the bucket. Sent only on realtime pushes */
    joinedUsers: ActiveUsersInBucket_UserData[];
    /** / The list of user ids that left the bucket. Sent only on realtime pushes */
    leftUsers: ActiveUsersInBucket_UserData[];
    /** / The list of user ids in the bucket. Only populated if requested by the backend. */
    users: ActiveUsersInBucket_UserData[];
    /** / The offset used when making the request */
    offset?: number | undefined;
    /** / The limit used when making the request */
    limit?: number | undefined;
}
interface ActiveUsersInBucket_UserData {
    userId: string;
    cfLocation?: CfLocation | undefined;
}
interface GetUserLastSeenAtBatchRequest {
    userIds: string[];
}
interface GetUserLastSeenAtBatchResponse {
    usersLastSeenAt: {
        [key: string]: GetUserLastSeenAtBatchResponse_UserLastSeenAtResponse;
    };
}
interface GetUserLastSeenAtBatchResponse_UserLastSeenAtResponse {
    lastSeenAt: string | undefined;
}
interface GetUserLastSeenAtBatchResponse_UsersLastSeenAtEntry {
    key: string;
    value: GetUserLastSeenAtBatchResponse_UserLastSeenAtResponse | undefined;
}
interface GetActiveUsersInBucketBatchRequest {
    requests: GetActiveUsersInBucketBatchRequest_Request[];
}
interface GetActiveUsersInBucketBatchRequest_Request {
    activeUserBucket: ActiveUserBucket | undefined;
    /** / Whether to include the user ids in the response. */
    includeUserIds: boolean;
    /** / The maximum number of user ids to return. MAX=5000. Ordering = lexicographic by user_id */
    limit: number;
    /** / The offset used when making the request. */
    offset: number;
}
interface GetActiveUsersInBucketBatchResponse {
    activeUsersInBuckets: ActiveUsersInBucket[];
}
interface GetUserProductSurfacesBatchRequest {
    userIds: string[];
}
interface GetUserProductSurfacesBatchResponse {
    /**
     * / This returns a single product surface per user for simplicity.
     * / If they are currently active on multiple devices, this may change rapidly.
     * / If they are active on multiple devices, but only a single device is foregrounded,
     * / that device's product surface will be prioritized.
     */
    userProductSurfaces: {
        [key: string]: GetUserProductSurfacesBatchResponse_ProductSurfaceState;
    };
}
interface GetUserProductSurfacesBatchResponse_ProductSurfaceState {
    productSurface: ProductSurface | undefined;
    isAppForegrounded: boolean;
    lastUpdatedAt: string | undefined;
    firstSeenAt: string | undefined;
}
interface GetUserProductSurfacesBatchResponse_UserProductSurfacesEntry {
    key: string;
    value: GetUserProductSurfacesBatchResponse_ProductSurfaceState | undefined;
}
interface GetTopExperiencesByActiveUsersRequest {
    limit?: number | undefined;
    appFilter?: GetTopExperiencesByActiveUsersRequest_AppFilter | undefined;
}
declare const GetTopExperiencesByActiveUsersRequest_AppFilter: {
    readonly ALL: "ALL";
    readonly LIVESTREAMS: "LIVESTREAMS";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type GetTopExperiencesByActiveUsersRequest_AppFilter = typeof GetTopExperiencesByActiveUsersRequest_AppFilter[keyof typeof GetTopExperiencesByActiveUsersRequest_AppFilter];
declare namespace GetTopExperiencesByActiveUsersRequest_AppFilter {
    type ALL = typeof GetTopExperiencesByActiveUsersRequest_AppFilter.ALL;
    type LIVESTREAMS = typeof GetTopExperiencesByActiveUsersRequest_AppFilter.LIVESTREAMS;
    type UNRECOGNIZED = typeof GetTopExperiencesByActiveUsersRequest_AppFilter.UNRECOGNIZED;
}
interface GetTopExperiencesByActiveUsersResponse {
    experienceItems: GetTopExperiencesByActiveUsersResponse_ExperienceItem[];
}
interface GetTopExperiencesByActiveUsersResponse_ExperienceItem {
    experienceId: string;
    activeUserCount: number;
}
interface UserPresenceService {
    GetUserLastSeenAtBatch(request: GetUserLastSeenAtBatchRequest): Promise<GetUserLastSeenAtBatchResponse>;
    /** / Fetch a list of active users in a bucket, and their count. */
    GetActiveUsersInBucketBatch(request: GetActiveUsersInBucketBatchRequest): Promise<GetActiveUsersInBucketBatchResponse>;
    /** / Fetch where and when a user was last active. */
    GetUserProductSurfacesBatch(request: GetUserProductSurfacesBatchRequest): Promise<GetUserProductSurfacesBatchResponse>;
    /** Fetch the experience ids with the most amount of active users. */
    GetTopExperiencesByActiveUsers(request: GetTopExperiencesByActiveUsersRequest): Promise<GetTopExperiencesByActiveUsersResponse>;
}

interface ExecuteClientCommand {
    id: string;
    command: string;
    payload?: string | undefined;
    validAfter?: string | undefined;
    validUntil?: string | undefined;
    clientVersion?: string | undefined;
    clientPlatform?: string | undefined;
}
interface ExecuteClientCommandResponse {
    id: string;
    status: ExecuteClientCommandResponse_Status;
    command: string;
    response?: string | undefined;
    errorMessage?: string | undefined;
    executedAt?: string | undefined;
    duration?: string | undefined;
}
declare const ExecuteClientCommandResponse_Status: {
    readonly SUCCESS: "SUCCESS";
    readonly ERROR: "ERROR";
    readonly SKIPPED: "SKIPPED";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type ExecuteClientCommandResponse_Status = typeof ExecuteClientCommandResponse_Status[keyof typeof ExecuteClientCommandResponse_Status];
declare namespace ExecuteClientCommandResponse_Status {
    type SUCCESS = typeof ExecuteClientCommandResponse_Status.SUCCESS;
    type ERROR = typeof ExecuteClientCommandResponse_Status.ERROR;
    type SKIPPED = typeof ExecuteClientCommandResponse_Status.SKIPPED;
    type UNRECOGNIZED = typeof ExecuteClientCommandResponse_Status.UNRECOGNIZED;
}

interface Game {
    /** / The platform wide unique identifier for the game. */
    id: string;
    /** / The channel used for game websocket updates. To interact with the game, the clients must have access to this channel. */
    channel: Channel | undefined;
    /** / Whether the game is currently active. (If false, the game is destroyed and cannot be rejoined) */
    isActive: boolean;
    /** / Whether players are allowed to join the game. */
    isJoinable: boolean;
    /** / The participants in the game. Includes their count and the top entries in the leaderboard. */
    participants?: GameParticipants | undefined;
    /** / The user id of the user that caused the game to be created. Nil if the game was created by a non-user (e.g. automated lobby) */
    creatorUserId?: string | undefined;
}
interface GameParticipants {
    gameId: string;
    /** / The total number of players in the game. */
    playerCount: number;
    /** / The top entries in the leaderboard. */
    topLeaderboardMembers: UserGameState[];
}
/** / This proto is sent whenever a user joins a game, or when their score updates. */
interface UserGameState {
    gameId: string;
    /** / The user's id. (may or may not contain more user information) */
    user: User | undefined;
    /** / The user's current score, calculated by the game implementation. */
    score: number;
    /** / Whether the user just joined the game. */
    didJustJoin?: boolean | undefined;
}
/** / This proto is sent whenever a user leaves a game. */
interface UserLeftGameEvent {
    gameId: string;
    userId: string;
}
/** / Request to join a game. Sent by the client to the server. */
interface JoinGameCommand {
    gameId: string;
    joinToken?: string | undefined;
}
/** / Request to leave a game. Sent by the client to the server. */
interface LeaveGameCommand {
    gameId: string;
}

declare const QuizStatus: {
    readonly UNKNOWN: "UNKNOWN";
    readonly WAITING_FOR_PLAYERS: "WAITING_FOR_PLAYERS";
    readonly SHOW_QUESTION: "SHOW_QUESTION";
    readonly ANSWER_QUESTION: "ANSWER_QUESTION";
    readonly QUESTION_RESULT: "QUESTION_RESULT";
    readonly QUESTION_LEADERBOARD: "QUESTION_LEADERBOARD";
    readonly GAME_RESULT: "GAME_RESULT";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type QuizStatus = typeof QuizStatus[keyof typeof QuizStatus];
declare namespace QuizStatus {
    type UNKNOWN = typeof QuizStatus.UNKNOWN;
    type WAITING_FOR_PLAYERS = typeof QuizStatus.WAITING_FOR_PLAYERS;
    type SHOW_QUESTION = typeof QuizStatus.SHOW_QUESTION;
    type ANSWER_QUESTION = typeof QuizStatus.ANSWER_QUESTION;
    type QUESTION_RESULT = typeof QuizStatus.QUESTION_RESULT;
    type QUESTION_LEADERBOARD = typeof QuizStatus.QUESTION_LEADERBOARD;
    type GAME_RESULT = typeof QuizStatus.GAME_RESULT;
    type UNRECOGNIZED = typeof QuizStatus.UNRECOGNIZED;
}
interface GameState {
    game: Game | undefined;
    status: QuizStatus;
    quiz: Quiz | undefined;
    currentQuestion?: Question | undefined;
    currentQuestionIndex: number;
}
interface ClientCommand {
    /** / Sent by a user to create a new game. */
    createGame?: CreateGameCommand | undefined;
    /** / A command sent by the host that allowes them to move to the next phase of the game, or end the game or go back to the lobby. */
    hostCommand?: HostCommand | undefined;
    /** / Sent by the host to add questions to the game, while playing. */
    addQuestions?: AddQuestionsCommand | undefined;
    /** Player Commands */
    answerQuestion?: AnswerQuestionCommand | undefined;
}
interface CreateGameCommand {
    /** / The websocket channel that the game is being played on. */
    channel: Channel | undefined;
    /** / The quiz that is being played. Contains alls the questions */
    quiz: Quiz | undefined;
}
interface HostCommand {
    gameId: string;
    command: HostCommand_StatusCommand;
}
declare const HostCommand_StatusCommand: {
    readonly UNKNOWN: "UNKNOWN";
    /** NEXT - / Move to the next phase of the game. */
    readonly NEXT: "NEXT";
    /** END_GAME - / End the game immediately, skip results screen and destroy the session. */
    readonly END_GAME: "END_GAME";
    /** GO_BACK_TO_LOBBY - / Go back to the lobby, allowing more players to join while the current game is running. Does not reset the leaderboard. */
    readonly GO_BACK_TO_LOBBY: "GO_BACK_TO_LOBBY";
    /** SKIP_TO_END_RESULTS - / Skip the questions and go straight to the end state of the game. Shows the leaderboard. */
    readonly SKIP_TO_END_RESULTS: "SKIP_TO_END_RESULTS";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type HostCommand_StatusCommand = typeof HostCommand_StatusCommand[keyof typeof HostCommand_StatusCommand];
declare namespace HostCommand_StatusCommand {
    type UNKNOWN = typeof HostCommand_StatusCommand.UNKNOWN;
    type NEXT = typeof HostCommand_StatusCommand.NEXT;
    type END_GAME = typeof HostCommand_StatusCommand.END_GAME;
    type GO_BACK_TO_LOBBY = typeof HostCommand_StatusCommand.GO_BACK_TO_LOBBY;
    type SKIP_TO_END_RESULTS = typeof HostCommand_StatusCommand.SKIP_TO_END_RESULTS;
    type UNRECOGNIZED = typeof HostCommand_StatusCommand.UNRECOGNIZED;
}
/** / Sent by a player to answer a question. */
interface AnswerQuestionCommand {
    gameId: string;
    answer: IndividualAnswer | undefined;
}
/** / Allows the host to add questions to a running game. */
interface AddQuestionsCommand {
    gameId: string;
    questions: Question[];
}
/** / This is sent to create the game and configure the game settings. */
interface Quiz {
    id: string;
    title: string;
    description?: string | undefined;
    /** / The full list of questions and answers for the quiz. May be empty if this model is returned for playing users. */
    questions: Question[];
    totalQuestionCount?: number | undefined;
    /** / The amount of time players have to answer each question. */
    answerDuration: string | undefined;
    /** / The amount of time to show the question to the players before they can answer */
    questionShowDuration: string | undefined;
    /** / Whether the answer duration is applied to the question. If false, there will be an infinite amount of time to answer the question. */
    isAnswerDurationApplied: boolean;
}
interface Question {
    id: string;
    text: string;
    attachments: FileAttachment[];
    /** / Whether the question has a correct answer. Set to false for polls / votes / open ended questions. */
    hasCorrectAnswer: boolean;
    /** / Whether the answer has been revealed to the players. */
    isAnswerRevealed: boolean;
    /** / Reveal the aggregate results for the question. */
    aggregateResult?: QuestionAggregateResult | undefined;
    /** / The answer submitted by the current user. */
    currentUserAnswer?: IndividualAnswer | undefined;
    /** NumberQuestion number = 11; */
    multipleChoice?: MultipleChoiceQuestion | undefined;
}
interface MultipleChoiceQuestion {
    answers: MultipleChoiceAnswer[];
}
/** / A single answer for a multiple choice question. */
interface MultipleChoiceAnswer {
    id: string;
    text: string;
    attachments: FileAttachment[];
    isCorrect?: boolean | undefined;
}
/** / The aggregate results for a question. Show on the host screen */
interface QuestionAggregateResult {
    questionId: string;
    totalAnswers: number;
    multipleChoice?: MultipleChoiceAggregateResult | undefined;
}
/** / The aggregate results for a multiple choice question. Counts the number of times each answer was selected. */
interface MultipleChoiceAggregateResult {
    answerCounts: {
        [key: string]: number;
    };
}
interface MultipleChoiceAggregateResult_AnswerCountsEntry {
    key: string;
    value: number;
}
/** / A unique answer submitted by a player. */
interface IndividualAnswer {
    questionId: string;
    /** int64 number_answer = 3; // Add this back in if we want to support number questions. */
    multipleChoiceAnswerId?: string | undefined;
}

interface ServerToClientMessage {
    /** / Game implementation independent messages */
    participantsUpdate?: GameParticipants | undefined;
    userGameState?: UserGameState | undefined;
    userLeftGame?: UserLeftGameEvent | undefined;
    /** / Specific game implementation messages */
    quizzesGameState?: GameState | undefined;
}
interface ClientToServerMessage {
    /** / Game implementation independent messages */
    joinGame?: JoinGameCommand | undefined;
    leaveGame?: LeaveGameCommand | undefined;
    /** / Specific game implementation messages */
    quizzesClientCommand?: ClientCommand | undefined;
}

declare const ResourceType: {
    readonly RESOURCE_UNKNOWN: "RESOURCE_UNKNOWN";
    readonly RESOURCE_BOT: "RESOURCE_BOT";
    readonly RESOURCE_ACCESS_PASS: "RESOURCE_ACCESS_PASS";
    readonly RESOURCE_EXPERIENCE: "RESOURCE_EXPERIENCE";
    readonly RESOURCE_USER: "RESOURCE_USER";
    readonly RESOURCE_EXPERIENCE_PREVIEW_CONTENT: "RESOURCE_EXPERIENCE_PREVIEW_CONTENT";
    readonly RESOURCE_APP: "RESOURCE_APP";
    readonly RESOURCE_FORUM_FEED: "RESOURCE_FORUM_FEED";
    readonly RESOURCE_UNIVERSAL_POST: "RESOURCE_UNIVERSAL_POST";
    readonly RESOURCE_CHAT_FEED: "RESOURCE_CHAT_FEED";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type ResourceType = typeof ResourceType[keyof typeof ResourceType];
declare namespace ResourceType {
    type RESOURCE_UNKNOWN = typeof ResourceType.RESOURCE_UNKNOWN;
    type RESOURCE_BOT = typeof ResourceType.RESOURCE_BOT;
    type RESOURCE_ACCESS_PASS = typeof ResourceType.RESOURCE_ACCESS_PASS;
    type RESOURCE_EXPERIENCE = typeof ResourceType.RESOURCE_EXPERIENCE;
    type RESOURCE_USER = typeof ResourceType.RESOURCE_USER;
    type RESOURCE_EXPERIENCE_PREVIEW_CONTENT = typeof ResourceType.RESOURCE_EXPERIENCE_PREVIEW_CONTENT;
    type RESOURCE_APP = typeof ResourceType.RESOURCE_APP;
    type RESOURCE_FORUM_FEED = typeof ResourceType.RESOURCE_FORUM_FEED;
    type RESOURCE_UNIVERSAL_POST = typeof ResourceType.RESOURCE_UNIVERSAL_POST;
    type RESOURCE_CHAT_FEED = typeof ResourceType.RESOURCE_CHAT_FEED;
    type UNRECOGNIZED = typeof ResourceType.UNRECOGNIZED;
}
interface WebsocketMessageServerToClient {
    newNotification?: Notification | undefined;
    reconnect?: Reconnect | undefined;
    reloadClient?: ReloadClient | undefined;
    feedEntity?: FeedEntity | undefined;
    heartbeatResponse?: HeartbeatResponse | undefined;
    goFetchNotifications?: GoFetchNotifications | undefined;
    marketplaceStats?: MarketplaceStats | undefined;
    purchase?: Purchase | undefined;
    broadcastResponse?: BroadcastResponse | undefined;
    channelSubscriptionState?: ChannelSubscriptionState | undefined;
    discoveryAccessPassLiveData?: DiscoveryAccessPassLiveData | undefined;
    activeUsersInBucket?: ActiveUsersInBucket | undefined;
    gameMessage?: ServerToClientMessage | undefined;
    contentRewardsMessage?: ContentRewardsMessage | undefined;
    experience?: Experience | undefined;
    accessPassMember?: AccessPassMember | undefined;
    accessPassExperience?: AccessPassExperience | undefined;
    accessPass?: AccessPass | undefined;
    bot?: Bot | undefined;
    experiencePreviewContent?: PreviewContent | undefined;
    user?: User | undefined;
    app?: App | undefined;
    fileAttachment?: FileAttachment | undefined;
    userStat?: UserStat | undefined;
    userExperience?: UserExperience | undefined;
    entry?: Entry | undefined;
    userReferralMarketRates?: UserReferralMarketRates | undefined;
    appMessage?: AppMessage | undefined;
    goFetchExperienceList?: GoFetchExperienceList | undefined;
    appBuild?: AppBuild | undefined;
    accessPassExperienceSection?: AccessPassExperienceSection | undefined;
    goFetchUserExperiences?: GoFetchUserExperiences | undefined;
    member?: Member | undefined;
    botExperienceSection?: BotExperienceSection | undefined;
    userPresence?: UserPresence | undefined;
    businessActivityEvent?: BusinessActivityEvent | undefined;
    executeClientCommand?: ExecuteClientCommand | undefined;
    supportTicketBadgeUpdate?: SupportTicketBadgeUpdate | undefined;
    /** [TIMING] When was the message initially created. Eg: timestamp from the rails application. */
    createdAt: string | undefined;
    /** [TIMING] When was the message received by the websocket server. (in the GRPC handler) */
    processedAt: string | undefined;
    /** [TIMING] When was the message sent to the client by the websocket connection handler. */
    deliveredAt: string | undefined;
}
interface WebsocketMessageClientToServer {
    heartbeat?: Heartbeat | undefined;
    subscribeToChannel?: SubscribeToChannel | undefined;
    unsubscribeFromChannel?: UnsubscribeFromChannel | undefined;
    broadcastRequest?: BroadcastRequest | undefined;
    productSurfaceUpdate?: ProductSurfaceUpdate | undefined;
    gameCommand?: ClientToServerMessage | undefined;
    subscribeToChannelBatch?: SubscribeToChannelBatch | undefined;
    requestItemsBatchRequest?: RequestItemsBatchRequest | undefined;
    broadcastAppMessage?: BroadcastAppMessage | undefined;
    executeClientCommandResponse?: ExecuteClientCommandResponse | undefined;
}
interface Heartbeat {
    userish: ConnectedId | undefined;
    channels: Channel[];
    platform: Platform;
    /** Allow the client to send a semantic version number (useful on ios / android) */
    clientSemver: string;
    /** On web, the client can send the age of the client code (aka how long ago they loaded the page) */
    clientAge: string | undefined;
    productSurfaceUpdate?: ProductSurfaceUpdate | undefined;
}
interface HeartbeatResponse {
    /** Allows clients to find out how delayed they are WRT to true server time. Can detect old devices that do not have synced clocks. */
    serverTime: string | undefined;
}
interface SubscribeToChannel {
    userish: ConnectedId | undefined;
    channel: Channel | undefined;
    authToken?: string | undefined;
}
interface SubscribeToChannelBatch {
    channels: SubscribeToChannel[];
}
interface UnsubscribeFromChannel {
    userish: ConnectedId | undefined;
    channel: Channel | undefined;
}
/**
 * This is a message that is sent by a 3rd party developer
 * that includes an arbitrary body. Used for app developer things.
 */
interface AppMessage {
    /** If this packet was sent from another user's browser, this is the user id it came from. */
    fromUserId?: string | undefined;
    /** this is true if the event is sent with your server side secret api key. */
    isTrusted: boolean;
    /** an arbitrary payload of data. */
    json: string;
}
/** To send a message from an user as an app developer, use this message. */
interface BroadcastAppMessage {
    /** String encoded JSON object that you want to send from the client. */
    json: string;
    /** Target channel */
    channel: Channel | undefined;
}
interface SendToTargetRequest {
    target: string;
    /** @deprecated */
    message: WebsocketMessageServerToClient | undefined;
    /** Pass the message as a WebsocketMessageServerToClient proto serialized to bytes. */
    messageBytes: Uint8Array;
}
interface SendToTargetResponse {
    wasTargetConnected: boolean;
}
interface SendToTargetsRequest {
    targets: string[];
    /** @deprecated */
    message: WebsocketMessageServerToClient | undefined;
    /** Pass the message as a WebsocketMessageServerToClient proto serialized to bytes. */
    messageBytes: Uint8Array;
}
interface SendToTargetsResponse {
    wasTargetConnectedMap: {
        [key: string]: boolean;
    };
}
interface SendToTargetsResponse_WasTargetConnectedMapEntry {
    key: string;
    value: boolean;
}
interface BatchSendToTargetRequest {
    requests: SendToTargetRequest[];
}
interface BatchSendToTargetResponse {
}
interface TerminateTargetsRequest {
    targets: string[];
}
interface TerminateTargetsResponse {
}
/**
 * A command enum that the websocket server receives via GRPC
 * and internally fans out to each horizontal shard
 */
interface WebsocketServerCommandRequest {
    clearCache?: ClearCacheRequest | undefined;
}
interface WebsocketServerCommandResponse {
    success: boolean;
    receivedCount: number;
}
/** This is returned from rails when the websocket server wishes to fetch cachable items via http */
interface BatchGetItemsResponse {
    items: BatchGetItemsResponse_Item[];
}
interface BatchGetItemsResponse_Item {
    id: string;
    websocketMessageBytes: Uint8Array;
}
/** Sent from a client to instruct the websocket server to send it the data for a certain set of items again. */
interface RequestItemsBatchRequest {
    items: RequestItemsBatchRequest_Item[];
}
interface RequestItemsBatchRequest_Item {
    id: string;
    type: ResourceType;
}
interface ClearCacheRequest {
    ids: string[];
    clearAll?: boolean | undefined;
    cacheType?: ResourceType | undefined;
}
interface WebsocketService {
    SendToTarget(request: SendToTargetRequest): Promise<SendToTargetResponse>;
    SendToTargets(request: SendToTargetsRequest): Promise<SendToTargetsResponse>;
    BatchSendToTarget(request: BatchSendToTargetRequest): Promise<BatchSendToTargetResponse>;
    TerminateTargets(request: TerminateTargetsRequest): Promise<TerminateTargetsResponse>;
    WebsocketServerCommand(request: WebsocketServerCommandRequest): Promise<WebsocketServerCommandResponse>;
}

type index_common_AccessPass = AccessPass;
type index_common_AccessPassActivityItem = AccessPassActivityItem;
type index_common_AccessPassExperience = AccessPassExperience;
type index_common_AccessPassExperienceSection = AccessPassExperienceSection;
declare const index_common_AccessPassExperience_UpsellType: typeof AccessPassExperience_UpsellType;
type index_common_AccessPassMember = AccessPassMember;
type index_common_AccessPassReview = AccessPassReview;
declare const index_common_AccessPass_AccessPassType: typeof AccessPass_AccessPassType;
declare const index_common_AccessPass_Visibility: typeof AccessPass_Visibility;
declare const index_common_AccessType: typeof AccessType;
type index_common_ActiveUserBucket = ActiveUserBucket;
declare const index_common_ActiveUserBucket_UserBucketType: typeof ActiveUserBucket_UserBucketType;
type index_common_ActiveUsersInBucket = ActiveUsersInBucket;
type index_common_ActiveUsersInBucket_UserData = ActiveUsersInBucket_UserData;
type index_common_App = App;
type index_common_AppBuild = AppBuild;
declare const index_common_AppBuild_Status: typeof AppBuild_Status;
type index_common_AppMessage = AppMessage;
declare const index_common_AppViewType: typeof AppViewType;
type index_common_BatchGetItemsResponse = BatchGetItemsResponse;
type index_common_BatchGetItemsResponse_Item = BatchGetItemsResponse_Item;
type index_common_BatchSendToTargetRequest = BatchSendToTargetRequest;
type index_common_BatchSendToTargetResponse = BatchSendToTargetResponse;
type index_common_Bot = Bot;
type index_common_BotExperienceSection = BotExperienceSection;
declare const index_common_Bot_OpengraphImageVariant: typeof Bot_OpengraphImageVariant;
type index_common_BroadcastAppMessage = BroadcastAppMessage;
type index_common_BroadcastRequest = BroadcastRequest;
type index_common_BroadcastResponse = BroadcastResponse;
type index_common_BusinessActivityEvent = BusinessActivityEvent;
declare const index_common_BusinessActivityEvent_EventType: typeof BusinessActivityEvent_EventType;
type index_common_CfLocation = CfLocation;
type index_common_Channel = Channel;
type index_common_ChannelSubscriptionState = ChannelSubscriptionState;
declare const index_common_ChannelSubscriptionState_DisconnectionReason: typeof ChannelSubscriptionState_DisconnectionReason;
declare const index_common_Channel_Type: typeof Channel_Type;
type index_common_ClearCacheRequest = ClearCacheRequest;
type index_common_ConnectedId = ConnectedId;
declare const index_common_ConnectedId_Type: typeof ConnectedId_Type;
type index_common_DiscoveryAccessPassLiveData = DiscoveryAccessPassLiveData;
type index_common_Entry = Entry;
declare const index_common_Entry_EntryStatus: typeof Entry_EntryStatus;
type index_common_FeedChatFeed = FeedChatFeed;
declare const index_common_FeedChatFeed_MemberPermissionType: typeof FeedChatFeed_MemberPermissionType;
type index_common_FeedContentItem = FeedContentItem;
type index_common_FeedContentItem_GiphyGif = FeedContentItem_GiphyGif;
type index_common_FeedDmsFeed = FeedDmsFeed;
type index_common_FeedDmsFeedMember = FeedDmsFeedMember;
declare const index_common_FeedDmsFeedMember_DmsFeedMemberStatus: typeof FeedDmsFeedMember_DmsFeedMemberStatus;
declare const index_common_FeedDmsFeedMember_NotificationPreference: typeof FeedDmsFeedMember_NotificationPreference;
type index_common_FeedDmsPost = FeedDmsPost;
type index_common_FeedDmsPost_DocumentAttachment = FeedDmsPost_DocumentAttachment;
type index_common_FeedDmsPost_GiphyGif = FeedDmsPost_GiphyGif;
type index_common_FeedDmsPost_ImageAttachment = FeedDmsPost_ImageAttachment;
type index_common_FeedDmsPost_LinkEmbed = FeedDmsPost_LinkEmbed;
declare const index_common_FeedDmsPost_MessageType: typeof FeedDmsPost_MessageType;
type index_common_FeedDmsPost_PostAttachment = FeedDmsPost_PostAttachment;
type index_common_FeedDmsPost_ReactionCount = FeedDmsPost_ReactionCount;
type index_common_FeedDmsPost_ReactionCounts = FeedDmsPost_ReactionCounts;
type index_common_FeedDmsPost_ReactionCounts_CountsEntry = FeedDmsPost_ReactionCounts_CountsEntry;
type index_common_FeedDmsPost_VideoAttachment = FeedDmsPost_VideoAttachment;
type index_common_FeedDmsUnreadBadgeUpdate = FeedDmsUnreadBadgeUpdate;
type index_common_FeedEntity = FeedEntity;
type index_common_FeedForumFeed = FeedForumFeed;
declare const index_common_FeedForumFeed_EmailNotificationPreferenceType: typeof FeedForumFeed_EmailNotificationPreferenceType;
declare const index_common_FeedForumFeed_LayoutType: typeof FeedForumFeed_LayoutType;
declare const index_common_FeedForumFeed_MemberPermissionType: typeof FeedForumFeed_MemberPermissionType;
type index_common_FeedForumPost = FeedForumPost;
declare const index_common_FeedForumPost_ForumPostType: typeof FeedForumPost_ForumPostType;
type index_common_FeedForumPost_GiphyGif = FeedForumPost_GiphyGif;
type index_common_FeedForumPost_LineItem = FeedForumPost_LineItem;
type index_common_FeedForumPost_LinkEmbed = FeedForumPost_LinkEmbed;
type index_common_FeedForumPost_ReactionCount = FeedForumPost_ReactionCount;
type index_common_FeedForumPost_ReactionCounts = FeedForumPost_ReactionCounts;
type index_common_FeedForumPost_ReactionCounts_CountsEntry = FeedForumPost_ReactionCounts_CountsEntry;
type index_common_FeedLivestreamFeed = FeedLivestreamFeed;
declare const index_common_FeedLivestreamFeed_MemberPermissionType: typeof FeedLivestreamFeed_MemberPermissionType;
type index_common_FeedLivestreamFeed_MetadataEntry = FeedLivestreamFeed_MetadataEntry;
declare const index_common_FeedLivestreamFeed_RecordingStatus: typeof FeedLivestreamFeed_RecordingStatus;
type index_common_FeedMutedUser = FeedMutedUser;
type index_common_FeedPostReactionCountUpdate = FeedPostReactionCountUpdate;
type index_common_FeedReaction = FeedReaction;
declare const index_common_FeedReaction_ReactionType: typeof FeedReaction_ReactionType;
type index_common_FeedService = FeedService;
type index_common_FeedSyncError = FeedSyncError;
type index_common_FeedUser = FeedUser;
type index_common_FileAttachment = FileAttachment;
type index_common_FileAttachment_Audio = FileAttachment_Audio;
type index_common_FileAttachment_GenericFile = FileAttachment_GenericFile;
type index_common_FileAttachment_Image = FileAttachment_Image;
type index_common_FileAttachment_Video = FileAttachment_Video;
type index_common_GetActiveUsersInBucketBatchRequest = GetActiveUsersInBucketBatchRequest;
type index_common_GetActiveUsersInBucketBatchRequest_Request = GetActiveUsersInBucketBatchRequest_Request;
type index_common_GetActiveUsersInBucketBatchResponse = GetActiveUsersInBucketBatchResponse;
type index_common_GetTopExperiencesByActiveUsersRequest = GetTopExperiencesByActiveUsersRequest;
declare const index_common_GetTopExperiencesByActiveUsersRequest_AppFilter: typeof GetTopExperiencesByActiveUsersRequest_AppFilter;
type index_common_GetTopExperiencesByActiveUsersResponse = GetTopExperiencesByActiveUsersResponse;
type index_common_GetTopExperiencesByActiveUsersResponse_ExperienceItem = GetTopExperiencesByActiveUsersResponse_ExperienceItem;
type index_common_GetUserLastSeenAtBatchRequest = GetUserLastSeenAtBatchRequest;
type index_common_GetUserLastSeenAtBatchResponse = GetUserLastSeenAtBatchResponse;
type index_common_GetUserLastSeenAtBatchResponse_UserLastSeenAtResponse = GetUserLastSeenAtBatchResponse_UserLastSeenAtResponse;
type index_common_GetUserLastSeenAtBatchResponse_UsersLastSeenAtEntry = GetUserLastSeenAtBatchResponse_UsersLastSeenAtEntry;
type index_common_GetUserProductSurfacesBatchRequest = GetUserProductSurfacesBatchRequest;
type index_common_GetUserProductSurfacesBatchResponse = GetUserProductSurfacesBatchResponse;
type index_common_GetUserProductSurfacesBatchResponse_ProductSurfaceState = GetUserProductSurfacesBatchResponse_ProductSurfaceState;
type index_common_GetUserProductSurfacesBatchResponse_UserProductSurfacesEntry = GetUserProductSurfacesBatchResponse_UserProductSurfacesEntry;
type index_common_GoFetchExperienceList = GoFetchExperienceList;
type index_common_GoFetchNotifications = GoFetchNotifications;
declare const index_common_GoFetchNotifications_NotifyingEntityType: typeof GoFetchNotifications_NotifyingEntityType;
type index_common_GoFetchUserExperiences = GoFetchUserExperiences;
type index_common_Heartbeat = Heartbeat;
type index_common_HeartbeatResponse = HeartbeatResponse;
type index_common_MarkAsRead = MarkAsRead;
type index_common_MarketplaceStats = MarketplaceStats;
type index_common_Member = Member;
type index_common_Money = Money;
type index_common_MuxAsset = MuxAsset;
declare const index_common_MuxAsset_MuxAssetStatus: typeof MuxAsset_MuxAssetStatus;
type index_common_Notification = Notification;
type index_common_NotificationService = NotificationService;
type index_common_NotificationTopic = NotificationTopic;
type index_common_Plan = Plan;
declare const index_common_Plan_PlanType: typeof Plan_PlanType;
declare const index_common_Plan_ReleaseMethod: typeof Plan_ReleaseMethod;
declare const index_common_Plan_Visibility: typeof Plan_Visibility;
declare const index_common_Platform: typeof Platform;
type index_common_Poll = Poll;
type index_common_Poll_PollOption = Poll_PollOption;
type index_common_Position = Position;
declare const index_common_Position_Type: typeof Position_Type;
type index_common_PostEmbed = PostEmbed;
type index_common_PostReactionCount = PostReactionCount;
declare const index_common_PostReactionCount_ReactionType: typeof PostReactionCount_ReactionType;
type index_common_ProductSurface = ProductSurface;
type index_common_ProductSurfaceUpdate = ProductSurfaceUpdate;
declare const index_common_ProductSurface_DiscoverSection: typeof ProductSurface_DiscoverSection;
declare const index_common_ProductSurface_FeedTab: typeof ProductSurface_FeedTab;
declare const index_common_ProductSurface_SurfaceType: typeof ProductSurface_SurfaceType;
declare const index_common_ProductSurface_ViewContext: typeof ProductSurface_ViewContext;
type index_common_Purchase = Purchase;
declare const index_common_Purchase_ReleaseMethod: typeof Purchase_ReleaseMethod;
type index_common_Reconnect = Reconnect;
type index_common_ReloadClient = ReloadClient;
type index_common_RequestItemsBatchRequest = RequestItemsBatchRequest;
type index_common_RequestItemsBatchRequest_Item = RequestItemsBatchRequest_Item;
declare const index_common_ResourceType: typeof ResourceType;
type index_common_RichEmbed = RichEmbed;
type index_common_RichEmbedContainer = RichEmbedContainer;
type index_common_RichEmbed_Field = RichEmbed_Field;
type index_common_RichEmbed_Footer = RichEmbed_Footer;
type index_common_SendFeedEntityToUserRequest = SendFeedEntityToUserRequest;
type index_common_SendFeedEntityToUserResponse = SendFeedEntityToUserResponse;
type index_common_SendNotificationToUserRequest = SendNotificationToUserRequest;
type index_common_SendNotificationToUserResponse = SendNotificationToUserResponse;
type index_common_SendToTargetRequest = SendToTargetRequest;
type index_common_SendToTargetResponse = SendToTargetResponse;
type index_common_SendToTargetsRequest = SendToTargetsRequest;
type index_common_SendToTargetsResponse = SendToTargetsResponse;
type index_common_SendToTargetsResponse_WasTargetConnectedMapEntry = SendToTargetsResponse_WasTargetConnectedMapEntry;
type index_common_SubscribeToChannel = SubscribeToChannel;
type index_common_SubscribeToChannelBatch = SubscribeToChannelBatch;
type index_common_SupportTicketBadgeUpdate = SupportTicketBadgeUpdate;
type index_common_TerminateTargetsRequest = TerminateTargetsRequest;
type index_common_TerminateTargetsResponse = TerminateTargetsResponse;
type index_common_TypingIndicator = TypingIndicator;
type index_common_UnsubscribeFromChannel = UnsubscribeFromChannel;
type index_common_User = User;
type index_common_UserPresence = UserPresence;
type index_common_UserPresenceService = UserPresenceService;
type index_common_UserReferralMarketRate = UserReferralMarketRate;
type index_common_UserReferralMarketRates = UserReferralMarketRates;
type index_common_UserStat = UserStat;
declare const index_common_UserType: typeof UserType;
declare const index_common_User_PlatformRole: typeof User_PlatformRole;
type index_common_WebsocketMessageClientToServer = WebsocketMessageClientToServer;
type index_common_WebsocketMessageServerToClient = WebsocketMessageServerToClient;
type index_common_WebsocketServerCommandRequest = WebsocketServerCommandRequest;
type index_common_WebsocketServerCommandResponse = WebsocketServerCommandResponse;
type index_common_WebsocketService = WebsocketService;
declare namespace index_common {
  export { type index_common_AccessPass as AccessPass, type index_common_AccessPassActivityItem as AccessPassActivityItem, type index_common_AccessPassExperience as AccessPassExperience, type index_common_AccessPassExperienceSection as AccessPassExperienceSection, index_common_AccessPassExperience_UpsellType as AccessPassExperience_UpsellType, type index_common_AccessPassMember as AccessPassMember, type index_common_AccessPassReview as AccessPassReview, index_common_AccessPass_AccessPassType as AccessPass_AccessPassType, index_common_AccessPass_Visibility as AccessPass_Visibility, index_common_AccessType as AccessType, type index_common_ActiveUserBucket as ActiveUserBucket, index_common_ActiveUserBucket_UserBucketType as ActiveUserBucket_UserBucketType, type index_common_ActiveUsersInBucket as ActiveUsersInBucket, type index_common_ActiveUsersInBucket_UserData as ActiveUsersInBucket_UserData, type index_common_App as App, type index_common_AppBuild as AppBuild, index_common_AppBuild_Status as AppBuild_Status, type index_common_AppMessage as AppMessage, index_common_AppViewType as AppViewType, type index_common_BatchGetItemsResponse as BatchGetItemsResponse, type index_common_BatchGetItemsResponse_Item as BatchGetItemsResponse_Item, type index_common_BatchSendToTargetRequest as BatchSendToTargetRequest, type index_common_BatchSendToTargetResponse as BatchSendToTargetResponse, type index_common_Bot as Bot, type index_common_BotExperienceSection as BotExperienceSection, index_common_Bot_OpengraphImageVariant as Bot_OpengraphImageVariant, type index_common_BroadcastAppMessage as BroadcastAppMessage, type index_common_BroadcastRequest as BroadcastRequest, type index_common_BroadcastResponse as BroadcastResponse, type index_common_BusinessActivityEvent as BusinessActivityEvent, index_common_BusinessActivityEvent_EventType as BusinessActivityEvent_EventType, type index_common_CfLocation as CfLocation, type index_common_Channel as Channel, type index_common_ChannelSubscriptionState as ChannelSubscriptionState, index_common_ChannelSubscriptionState_DisconnectionReason as ChannelSubscriptionState_DisconnectionReason, index_common_Channel_Type as Channel_Type, type index_common_ClearCacheRequest as ClearCacheRequest, type index_common_ConnectedId as ConnectedId, index_common_ConnectedId_Type as ConnectedId_Type, type index_common_DiscoveryAccessPassLiveData as DiscoveryAccessPassLiveData, type index_common_Entry as Entry, index_common_Entry_EntryStatus as Entry_EntryStatus, type index_common_FeedChatFeed as FeedChatFeed, index_common_FeedChatFeed_MemberPermissionType as FeedChatFeed_MemberPermissionType, type index_common_FeedContentItem as FeedContentItem, type index_common_FeedContentItem_GiphyGif as FeedContentItem_GiphyGif, type index_common_FeedDmsFeed as FeedDmsFeed, type index_common_FeedDmsFeedMember as FeedDmsFeedMember, index_common_FeedDmsFeedMember_DmsFeedMemberStatus as FeedDmsFeedMember_DmsFeedMemberStatus, index_common_FeedDmsFeedMember_NotificationPreference as FeedDmsFeedMember_NotificationPreference, type index_common_FeedDmsPost as FeedDmsPost, type index_common_FeedDmsPost_DocumentAttachment as FeedDmsPost_DocumentAttachment, type index_common_FeedDmsPost_GiphyGif as FeedDmsPost_GiphyGif, type index_common_FeedDmsPost_ImageAttachment as FeedDmsPost_ImageAttachment, type index_common_FeedDmsPost_LinkEmbed as FeedDmsPost_LinkEmbed, index_common_FeedDmsPost_MessageType as FeedDmsPost_MessageType, type index_common_FeedDmsPost_PostAttachment as FeedDmsPost_PostAttachment, type index_common_FeedDmsPost_ReactionCount as FeedDmsPost_ReactionCount, type index_common_FeedDmsPost_ReactionCounts as FeedDmsPost_ReactionCounts, type index_common_FeedDmsPost_ReactionCounts_CountsEntry as FeedDmsPost_ReactionCounts_CountsEntry, type index_common_FeedDmsPost_VideoAttachment as FeedDmsPost_VideoAttachment, type index_common_FeedDmsUnreadBadgeUpdate as FeedDmsUnreadBadgeUpdate, type index_common_FeedEntity as FeedEntity, type index_common_FeedForumFeed as FeedForumFeed, index_common_FeedForumFeed_EmailNotificationPreferenceType as FeedForumFeed_EmailNotificationPreferenceType, index_common_FeedForumFeed_LayoutType as FeedForumFeed_LayoutType, index_common_FeedForumFeed_MemberPermissionType as FeedForumFeed_MemberPermissionType, type index_common_FeedForumPost as FeedForumPost, index_common_FeedForumPost_ForumPostType as FeedForumPost_ForumPostType, type index_common_FeedForumPost_GiphyGif as FeedForumPost_GiphyGif, type index_common_FeedForumPost_LineItem as FeedForumPost_LineItem, type index_common_FeedForumPost_LinkEmbed as FeedForumPost_LinkEmbed, type index_common_FeedForumPost_ReactionCount as FeedForumPost_ReactionCount, type index_common_FeedForumPost_ReactionCounts as FeedForumPost_ReactionCounts, type index_common_FeedForumPost_ReactionCounts_CountsEntry as FeedForumPost_ReactionCounts_CountsEntry, type index_common_FeedLivestreamFeed as FeedLivestreamFeed, index_common_FeedLivestreamFeed_MemberPermissionType as FeedLivestreamFeed_MemberPermissionType, type index_common_FeedLivestreamFeed_MetadataEntry as FeedLivestreamFeed_MetadataEntry, index_common_FeedLivestreamFeed_RecordingStatus as FeedLivestreamFeed_RecordingStatus, type index_common_FeedMutedUser as FeedMutedUser, type index_common_FeedPostReactionCountUpdate as FeedPostReactionCountUpdate, type index_common_FeedReaction as FeedReaction, index_common_FeedReaction_ReactionType as FeedReaction_ReactionType, type index_common_FeedService as FeedService, type index_common_FeedSyncError as FeedSyncError, type index_common_FeedUser as FeedUser, type index_common_FileAttachment as FileAttachment, type index_common_FileAttachment_Audio as FileAttachment_Audio, type index_common_FileAttachment_GenericFile as FileAttachment_GenericFile, type index_common_FileAttachment_Image as FileAttachment_Image, type index_common_FileAttachment_Video as FileAttachment_Video, type index_common_GetActiveUsersInBucketBatchRequest as GetActiveUsersInBucketBatchRequest, type index_common_GetActiveUsersInBucketBatchRequest_Request as GetActiveUsersInBucketBatchRequest_Request, type index_common_GetActiveUsersInBucketBatchResponse as GetActiveUsersInBucketBatchResponse, type index_common_GetTopExperiencesByActiveUsersRequest as GetTopExperiencesByActiveUsersRequest, index_common_GetTopExperiencesByActiveUsersRequest_AppFilter as GetTopExperiencesByActiveUsersRequest_AppFilter, type index_common_GetTopExperiencesByActiveUsersResponse as GetTopExperiencesByActiveUsersResponse, type index_common_GetTopExperiencesByActiveUsersResponse_ExperienceItem as GetTopExperiencesByActiveUsersResponse_ExperienceItem, type index_common_GetUserLastSeenAtBatchRequest as GetUserLastSeenAtBatchRequest, type index_common_GetUserLastSeenAtBatchResponse as GetUserLastSeenAtBatchResponse, type index_common_GetUserLastSeenAtBatchResponse_UserLastSeenAtResponse as GetUserLastSeenAtBatchResponse_UserLastSeenAtResponse, type index_common_GetUserLastSeenAtBatchResponse_UsersLastSeenAtEntry as GetUserLastSeenAtBatchResponse_UsersLastSeenAtEntry, type index_common_GetUserProductSurfacesBatchRequest as GetUserProductSurfacesBatchRequest, type index_common_GetUserProductSurfacesBatchResponse as GetUserProductSurfacesBatchResponse, type index_common_GetUserProductSurfacesBatchResponse_ProductSurfaceState as GetUserProductSurfacesBatchResponse_ProductSurfaceState, type index_common_GetUserProductSurfacesBatchResponse_UserProductSurfacesEntry as GetUserProductSurfacesBatchResponse_UserProductSurfacesEntry, type index_common_GoFetchExperienceList as GoFetchExperienceList, type index_common_GoFetchNotifications as GoFetchNotifications, index_common_GoFetchNotifications_NotifyingEntityType as GoFetchNotifications_NotifyingEntityType, type index_common_GoFetchUserExperiences as GoFetchUserExperiences, type index_common_Heartbeat as Heartbeat, type index_common_HeartbeatResponse as HeartbeatResponse, type index_common_MarkAsRead as MarkAsRead, type index_common_MarketplaceStats as MarketplaceStats, type index_common_Member as Member, type index_common_Money as Money, type index_common_MuxAsset as MuxAsset, index_common_MuxAsset_MuxAssetStatus as MuxAsset_MuxAssetStatus, type index_common_Notification as Notification, type index_common_NotificationService as NotificationService, type index_common_NotificationTopic as NotificationTopic, type index_common_Plan as Plan, index_common_Plan_PlanType as Plan_PlanType, index_common_Plan_ReleaseMethod as Plan_ReleaseMethod, index_common_Plan_Visibility as Plan_Visibility, index_common_Platform as Platform, type index_common_Poll as Poll, type index_common_Poll_PollOption as Poll_PollOption, type index_common_Position as Position, index_common_Position_Type as Position_Type, type index_common_PostEmbed as PostEmbed, type index_common_PostReactionCount as PostReactionCount, index_common_PostReactionCount_ReactionType as PostReactionCount_ReactionType, type index_common_ProductSurface as ProductSurface, type index_common_ProductSurfaceUpdate as ProductSurfaceUpdate, index_common_ProductSurface_DiscoverSection as ProductSurface_DiscoverSection, index_common_ProductSurface_FeedTab as ProductSurface_FeedTab, index_common_ProductSurface_SurfaceType as ProductSurface_SurfaceType, index_common_ProductSurface_ViewContext as ProductSurface_ViewContext, type index_common_Purchase as Purchase, index_common_Purchase_ReleaseMethod as Purchase_ReleaseMethod, type index_common_Reconnect as Reconnect, type index_common_ReloadClient as ReloadClient, type index_common_RequestItemsBatchRequest as RequestItemsBatchRequest, type index_common_RequestItemsBatchRequest_Item as RequestItemsBatchRequest_Item, index_common_ResourceType as ResourceType, type index_common_RichEmbed as RichEmbed, type index_common_RichEmbedContainer as RichEmbedContainer, type index_common_RichEmbed_Field as RichEmbed_Field, type index_common_RichEmbed_Footer as RichEmbed_Footer, type index_common_SendFeedEntityToUserRequest as SendFeedEntityToUserRequest, type index_common_SendFeedEntityToUserResponse as SendFeedEntityToUserResponse, type index_common_SendNotificationToUserRequest as SendNotificationToUserRequest, type index_common_SendNotificationToUserResponse as SendNotificationToUserResponse, type index_common_SendToTargetRequest as SendToTargetRequest, type index_common_SendToTargetResponse as SendToTargetResponse, type index_common_SendToTargetsRequest as SendToTargetsRequest, type index_common_SendToTargetsResponse as SendToTargetsResponse, type index_common_SendToTargetsResponse_WasTargetConnectedMapEntry as SendToTargetsResponse_WasTargetConnectedMapEntry, type index_common_SubscribeToChannel as SubscribeToChannel, type index_common_SubscribeToChannelBatch as SubscribeToChannelBatch, type index_common_SupportTicketBadgeUpdate as SupportTicketBadgeUpdate, type index_common_TerminateTargetsRequest as TerminateTargetsRequest, type index_common_TerminateTargetsResponse as TerminateTargetsResponse, type index_common_TypingIndicator as TypingIndicator, type index_common_UnsubscribeFromChannel as UnsubscribeFromChannel, type index_common_User as User, type index_common_UserPresence as UserPresence, type index_common_UserPresenceService as UserPresenceService, type index_common_UserReferralMarketRate as UserReferralMarketRate, type index_common_UserReferralMarketRates as UserReferralMarketRates, type index_common_UserStat as UserStat, index_common_UserType as UserType, index_common_User_PlatformRole as User_PlatformRole, type index_common_WebsocketMessageClientToServer as WebsocketMessageClientToServer, type index_common_WebsocketMessageServerToClient as WebsocketMessageServerToClient, type index_common_WebsocketServerCommandRequest as WebsocketServerCommandRequest, type index_common_WebsocketServerCommandResponse as WebsocketServerCommandResponse, type index_common_WebsocketService as WebsocketService };
}

/**
 * A Timestamp represents a point in time independent of any time zone or local
 * calendar, encoded as a count of seconds and fractions of seconds at
 * nanosecond resolution. The count is relative to an epoch at UTC midnight on
 * January 1, 1970, in the proleptic Gregorian calendar which extends the
 * Gregorian calendar backwards to year one.
 *
 * All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
 * second table is needed for interpretation, using a [24-hour linear
 * smear](https://developers.google.com/time/smear).
 *
 * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
 * restricting to that range, we ensure that we can convert to and from [RFC
 * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
 *
 * # Examples
 *
 * Example 1: Compute Timestamp from POSIX `time()`.
 *
 *     Timestamp timestamp;
 *     timestamp.set_seconds(time(NULL));
 *     timestamp.set_nanos(0);
 *
 * Example 2: Compute Timestamp from POSIX `gettimeofday()`.
 *
 *     struct timeval tv;
 *     gettimeofday(&tv, NULL);
 *
 *     Timestamp timestamp;
 *     timestamp.set_seconds(tv.tv_sec);
 *     timestamp.set_nanos(tv.tv_usec * 1000);
 *
 * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
 *
 *     FILETIME ft;
 *     GetSystemTimeAsFileTime(&ft);
 *     UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
 *
 *     // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
 *     // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
 *     Timestamp timestamp;
 *     timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
 *     timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
 *
 * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
 *
 *     long millis = System.currentTimeMillis();
 *
 *     Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
 *         .setNanos((int) ((millis % 1000) * 1000000)).build();
 *
 * Example 5: Compute Timestamp from Java `Instant.now()`.
 *
 *     Instant now = Instant.now();
 *
 *     Timestamp timestamp =
 *         Timestamp.newBuilder().setSeconds(now.getEpochSecond())
 *             .setNanos(now.getNano()).build();
 *
 * Example 6: Compute Timestamp from current time in Python.
 *
 *     timestamp = Timestamp()
 *     timestamp.GetCurrentTime()
 *
 * # JSON Mapping
 *
 * In JSON format, the Timestamp type is encoded as a string in the
 * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
 * format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
 * where {year} is always expressed using four digits while {month}, {day},
 * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
 * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
 * are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
 * is required. A proto3 JSON serializer should always use UTC (as indicated by
 * "Z") when printing the Timestamp type and a proto3 JSON parser should be
 * able to accept both UTC and other timezones (as indicated by an offset).
 *
 * For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
 * 01:30 UTC on January 15, 2017.
 *
 * In JavaScript, one can convert a Date object to this format using the
 * standard
 * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
 * method. In Python, a standard `datetime.datetime` object can be converted
 * to this format using
 * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
 * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
 * the Joda Time's [`ISODateTimeFormat.dateTime()`](
 * http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
 * ) to obtain a formatter capable of generating timestamps in this format.
 */
interface Timestamp {
    /**
     * Represents seconds of UTC time since Unix epoch
     * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
     * 9999-12-31T23:59:59Z inclusive.
     */
    seconds: number;
    /**
     * Non-negative fractions of a second at nanosecond resolution. Negative
     * second values with fractions must still have non-negative nanos values
     * that count forward in time. Must be from 0 to 999,999,999
     * inclusive.
     */
    nanos: number;
}

/**
 * A Duration represents a signed, fixed-length span of time represented
 * as a count of seconds and fractions of seconds at nanosecond
 * resolution. It is independent of any calendar and concepts like "day"
 * or "month". It is related to Timestamp in that the difference between
 * two Timestamp values is a Duration and it can be added or subtracted
 * from a Timestamp. Range is approximately +-10,000 years.
 *
 * # Examples
 *
 * Example 1: Compute Duration from two Timestamps in pseudo code.
 *
 *     Timestamp start = ...;
 *     Timestamp end = ...;
 *     Duration duration = ...;
 *
 *     duration.seconds = end.seconds - start.seconds;
 *     duration.nanos = end.nanos - start.nanos;
 *
 *     if (duration.seconds < 0 && duration.nanos > 0) {
 *       duration.seconds += 1;
 *       duration.nanos -= 1000000000;
 *     } else if (duration.seconds > 0 && duration.nanos < 0) {
 *       duration.seconds -= 1;
 *       duration.nanos += 1000000000;
 *     }
 *
 * Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
 *
 *     Timestamp start = ...;
 *     Duration duration = ...;
 *     Timestamp end = ...;
 *
 *     end.seconds = start.seconds + duration.seconds;
 *     end.nanos = start.nanos + duration.nanos;
 *
 *     if (end.nanos < 0) {
 *       end.seconds -= 1;
 *       end.nanos += 1000000000;
 *     } else if (end.nanos >= 1000000000) {
 *       end.seconds += 1;
 *       end.nanos -= 1000000000;
 *     }
 *
 * Example 3: Compute Duration from datetime.timedelta in Python.
 *
 *     td = datetime.timedelta(days=3, minutes=10)
 *     duration = Duration()
 *     duration.FromTimedelta(td)
 *
 * # JSON Mapping
 *
 * In JSON format, the Duration type is encoded as a string rather than an
 * object, where the string ends in the suffix "s" (indicating seconds) and
 * is preceded by the number of seconds, with nanoseconds expressed as
 * fractional seconds. For example, 3 seconds with 0 nanoseconds should be
 * encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
 * be expressed in JSON format as "3.000000001s", and 3 seconds and 1
 * microsecond should be expressed in JSON format as "3.000001s".
 */
interface Duration {
    /**
     * Signed seconds of the span of time. Must be from -315,576,000,000
     * to +315,576,000,000 inclusive. Note: these bounds are computed from:
     * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     */
    seconds: number;
    /**
     * Signed fractions of a second at nanosecond resolution of the span
     * of time. Durations less than one second are represented with a 0
     * `seconds` field and a positive or negative `nanos` field. For durations
     * of one second or more, a non-zero value for the `nanos` field must be
     * of the same sign as the `seconds` field. Must be from -999,999,999
     * to +999,999,999 inclusive.
     */
    nanos: number;
}

/**
 * `NullValue` is a singleton enumeration to represent the null value for the
 * `Value` type union.
 *
 * The JSON representation for `NullValue` is JSON `null`.
 */
declare const NullValue: {
    /** NULL_VALUE - Null value. */
    readonly NULL_VALUE: "NULL_VALUE";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type NullValue = typeof NullValue[keyof typeof NullValue];
declare namespace NullValue {
    type NULL_VALUE = typeof NullValue.NULL_VALUE;
    type UNRECOGNIZED = typeof NullValue.UNRECOGNIZED;
}
/**
 * `Struct` represents a structured data value, consisting of fields
 * which map to dynamically typed values. In some languages, `Struct`
 * might be supported by a native representation. For example, in
 * scripting languages like JS a struct is represented as an
 * object. The details of that representation are described together
 * with the proto support for the language.
 *
 * The JSON representation for `Struct` is JSON object.
 */
interface Struct {
    /** Unordered map of dynamically typed values. */
    fields: {
        [key: string]: any | undefined;
    };
}
interface Struct_FieldsEntry {
    key: string;
    value: any | undefined;
}
/**
 * `Value` represents a dynamically typed value which can be either
 * null, a number, a string, a boolean, a recursive struct value, or a
 * list of values. A producer of value is expected to set one of these
 * variants. Absence of any variant indicates an error.
 *
 * The JSON representation for `Value` is JSON value.
 */
interface Value {
    /** Represents a null value. */
    nullValue?: NullValue | undefined;
    /** Represents a double value. */
    numberValue?: number | undefined;
    /** Represents a string value. */
    stringValue?: string | undefined;
    /** Represents a boolean value. */
    boolValue?: boolean | undefined;
    /** Represents a structured value. */
    structValue?: {
        [key: string]: any;
    } | undefined;
    /** Represents a repeated `Value`. */
    listValue?: Array<any> | undefined;
}
/**
 * `ListValue` is a wrapper around a repeated field of values.
 *
 * The JSON representation for `ListValue` is JSON array.
 */
interface ListValue {
    /** Repeated field of dynamically typed values. */
    values: any[];
}

type index_google_protobuf_Duration = Duration;
type index_google_protobuf_ListValue = ListValue;
declare const index_google_protobuf_NullValue: typeof NullValue;
type index_google_protobuf_Struct = Struct;
type index_google_protobuf_Struct_FieldsEntry = Struct_FieldsEntry;
type index_google_protobuf_Timestamp = Timestamp;
type index_google_protobuf_Value = Value;
declare namespace index_google_protobuf {
  export { type index_google_protobuf_Duration as Duration, type index_google_protobuf_ListValue as ListValue, index_google_protobuf_NullValue as NullValue, type index_google_protobuf_Struct as Struct, type index_google_protobuf_Struct_FieldsEntry as Struct_FieldsEntry, type index_google_protobuf_Timestamp as Timestamp, type index_google_protobuf_Value as Value };
}

declare namespace index_google {
  export { index_google_protobuf as protobuf };
}

type index_bounties_app_Bounty = Bounty;
type index_bounties_app_BountySubmission = BountySubmission;
declare const index_bounties_app_BountySubmission_BountySubmissionStatus: typeof BountySubmission_BountySubmissionStatus;
declare const index_bounties_app_Bounty_BountyRewardUnit: typeof Bounty_BountyRewardUnit;
declare const index_bounties_app_Bounty_BountyStatus: typeof Bounty_BountyStatus;
declare namespace index_bounties_app {
  export { type index_bounties_app_Bounty as Bounty, type index_bounties_app_BountySubmission as BountySubmission, index_bounties_app_BountySubmission_BountySubmissionStatus as BountySubmission_BountySubmissionStatus, index_bounties_app_Bounty_BountyRewardUnit as Bounty_BountyRewardUnit, index_bounties_app_Bounty_BountyStatus as Bounty_BountyStatus };
}

type index_courses_app_Course = Course;
declare namespace index_courses_app {
  export type { index_courses_app_Course as Course };
}

type index_games_quizzes_AddQuestionsCommand = AddQuestionsCommand;
type index_games_quizzes_AnswerQuestionCommand = AnswerQuestionCommand;
type index_games_quizzes_ClientCommand = ClientCommand;
type index_games_quizzes_CreateGameCommand = CreateGameCommand;
type index_games_quizzes_GameState = GameState;
type index_games_quizzes_HostCommand = HostCommand;
declare const index_games_quizzes_HostCommand_StatusCommand: typeof HostCommand_StatusCommand;
type index_games_quizzes_IndividualAnswer = IndividualAnswer;
type index_games_quizzes_MultipleChoiceAggregateResult = MultipleChoiceAggregateResult;
type index_games_quizzes_MultipleChoiceAggregateResult_AnswerCountsEntry = MultipleChoiceAggregateResult_AnswerCountsEntry;
type index_games_quizzes_MultipleChoiceAnswer = MultipleChoiceAnswer;
type index_games_quizzes_MultipleChoiceQuestion = MultipleChoiceQuestion;
type index_games_quizzes_Question = Question;
type index_games_quizzes_QuestionAggregateResult = QuestionAggregateResult;
type index_games_quizzes_Quiz = Quiz;
declare const index_games_quizzes_QuizStatus: typeof QuizStatus;
declare namespace index_games_quizzes {
  export { type index_games_quizzes_AddQuestionsCommand as AddQuestionsCommand, type index_games_quizzes_AnswerQuestionCommand as AnswerQuestionCommand, type index_games_quizzes_ClientCommand as ClientCommand, type index_games_quizzes_CreateGameCommand as CreateGameCommand, type index_games_quizzes_GameState as GameState, type index_games_quizzes_HostCommand as HostCommand, index_games_quizzes_HostCommand_StatusCommand as HostCommand_StatusCommand, type index_games_quizzes_IndividualAnswer as IndividualAnswer, type index_games_quizzes_MultipleChoiceAggregateResult as MultipleChoiceAggregateResult, type index_games_quizzes_MultipleChoiceAggregateResult_AnswerCountsEntry as MultipleChoiceAggregateResult_AnswerCountsEntry, type index_games_quizzes_MultipleChoiceAnswer as MultipleChoiceAnswer, type index_games_quizzes_MultipleChoiceQuestion as MultipleChoiceQuestion, type index_games_quizzes_Question as Question, type index_games_quizzes_QuestionAggregateResult as QuestionAggregateResult, type index_games_quizzes_Quiz as Quiz, index_games_quizzes_QuizStatus as QuizStatus };
}

type index_games_ClientToServerMessage = ClientToServerMessage;
type index_games_Game = Game;
type index_games_GameParticipants = GameParticipants;
type index_games_JoinGameCommand = JoinGameCommand;
type index_games_LeaveGameCommand = LeaveGameCommand;
type index_games_ServerToClientMessage = ServerToClientMessage;
type index_games_UserGameState = UserGameState;
type index_games_UserLeftGameEvent = UserLeftGameEvent;
declare namespace index_games {
  export { type index_games_ClientToServerMessage as ClientToServerMessage, type index_games_Game as Game, type index_games_GameParticipants as GameParticipants, type index_games_JoinGameCommand as JoinGameCommand, type index_games_LeaveGameCommand as LeaveGameCommand, type index_games_ServerToClientMessage as ServerToClientMessage, type index_games_UserGameState as UserGameState, type index_games_UserLeftGameEvent as UserLeftGameEvent, index_games_quizzes as quizzes };
}

declare const index_content_rewards_app_ContentPlatform: typeof ContentPlatform;
type index_content_rewards_app_ContentRewardsCampaign = ContentRewardsCampaign;
declare const index_content_rewards_app_ContentRewardsCampaign_Category: typeof ContentRewardsCampaign_Category;
declare const index_content_rewards_app_ContentRewardsCampaign_ContentType: typeof ContentRewardsCampaign_ContentType;
declare const index_content_rewards_app_ContentRewardsCampaign_Status: typeof ContentRewardsCampaign_Status;
type index_content_rewards_app_ContentRewardsMessage = ContentRewardsMessage;
type index_content_rewards_app_ContentRewardsSubmission = ContentRewardsSubmission;
declare const index_content_rewards_app_ContentRewardsSubmission_Status: typeof ContentRewardsSubmission_Status;
declare namespace index_content_rewards_app {
  export { index_content_rewards_app_ContentPlatform as ContentPlatform, type index_content_rewards_app_ContentRewardsCampaign as ContentRewardsCampaign, index_content_rewards_app_ContentRewardsCampaign_Category as ContentRewardsCampaign_Category, index_content_rewards_app_ContentRewardsCampaign_ContentType as ContentRewardsCampaign_ContentType, index_content_rewards_app_ContentRewardsCampaign_Status as ContentRewardsCampaign_Status, type index_content_rewards_app_ContentRewardsMessage as ContentRewardsMessage, type index_content_rewards_app_ContentRewardsSubmission as ContentRewardsSubmission, index_content_rewards_app_ContentRewardsSubmission_Status as ContentRewardsSubmission_Status };
}

type index_events_app_Event = Event;
declare const index_events_app_Event_LocationType: typeof Event_LocationType;
declare const index_events_app_Event_RecurringRule: typeof Event_RecurringRule;
declare namespace index_events_app {
  export { type index_events_app_Event as Event, index_events_app_Event_LocationType as Event_LocationType, index_events_app_Event_RecurringRule as Event_RecurringRule };
}

type index_diagnostics_ExecuteClientCommand = ExecuteClientCommand;
type index_diagnostics_ExecuteClientCommandResponse = ExecuteClientCommandResponse;
declare const index_diagnostics_ExecuteClientCommandResponse_Status: typeof ExecuteClientCommandResponse_Status;
declare namespace index_diagnostics {
  export { type index_diagnostics_ExecuteClientCommand as ExecuteClientCommand, type index_diagnostics_ExecuteClientCommandResponse as ExecuteClientCommandResponse, index_diagnostics_ExecuteClientCommandResponse_Status as ExecuteClientCommandResponse_Status };
}

type index_content_app_ContentDocument = ContentDocument;
declare namespace index_content_app {
  export type { index_content_app_ContentDocument as ContentDocument };
}

type index_calendar_bookings_app_Availability = Availability;
type index_calendar_bookings_app_Booking = Booking;
declare namespace index_calendar_bookings_app {
  export type { index_calendar_bookings_app_Availability as Availability, index_calendar_bookings_app_Booking as Booking };
}

type index_wheel_app_Prize = Prize;
type index_wheel_app_Spin = Spin;
declare const index_wheel_app_Spin_SpinStatus: typeof Spin_SpinStatus;
type index_wheel_app_Wheel = Wheel;
declare namespace index_wheel_app {
  export { type index_wheel_app_Prize as Prize, type index_wheel_app_Spin as Spin, index_wheel_app_Spin_SpinStatus as Spin_SpinStatus, type index_wheel_app_Wheel as Wheel };
}

type index_experience_BatchGetExperiencePreviewContentRequest = BatchGetExperiencePreviewContentRequest;
type index_experience_BatchGetExperiencePreviewContentResponse = BatchGetExperiencePreviewContentResponse;
type index_experience_BatchGetExperiencePreviewContentResponse_ExperiencePreviewContentResponse = BatchGetExperiencePreviewContentResponse_ExperiencePreviewContentResponse;
type index_experience_BountiesCard = BountiesCard;
type index_experience_CalendarBookingsCard = CalendarBookingsCard;
type index_experience_ChatCard = ChatCard;
type index_experience_ContentCard = ContentCard;
type index_experience_ContentRewardsCard = ContentRewardsCard;
type index_experience_CoursesCard = CoursesCard;
type index_experience_EventsCard = EventsCard;
type index_experience_Experience = Experience;
type index_experience_ForumCard = ForumCard;
type index_experience_GenericCard = GenericCard;
type index_experience_LivestreamingCard = LivestreamingCard;
type index_experience_PreviewContent = PreviewContent;
type index_experience_UserExperience = UserExperience;
type index_experience_WheelCard = WheelCard;
declare namespace index_experience {
  export type { index_experience_BatchGetExperiencePreviewContentRequest as BatchGetExperiencePreviewContentRequest, index_experience_BatchGetExperiencePreviewContentResponse as BatchGetExperiencePreviewContentResponse, index_experience_BatchGetExperiencePreviewContentResponse_ExperiencePreviewContentResponse as BatchGetExperiencePreviewContentResponse_ExperiencePreviewContentResponse, index_experience_BountiesCard as BountiesCard, index_experience_CalendarBookingsCard as CalendarBookingsCard, index_experience_ChatCard as ChatCard, index_experience_ContentCard as ContentCard, index_experience_ContentRewardsCard as ContentRewardsCard, index_experience_CoursesCard as CoursesCard, index_experience_EventsCard as EventsCard, index_experience_Experience as Experience, index_experience_ForumCard as ForumCard, index_experience_GenericCard as GenericCard, index_experience_LivestreamingCard as LivestreamingCard, index_experience_PreviewContent as PreviewContent, index_experience_UserExperience as UserExperience, index_experience_WheelCard as WheelCard };
}

declare const PaymentMethod: {
    readonly PAYMENT_METHOD_UNSPECIFIED: "PAYMENT_METHOD_UNSPECIFIED";
    readonly PAYMENT_METHOD_ALL_PAYMENT_METHODS: "PAYMENT_METHOD_ALL_PAYMENT_METHODS";
    readonly PAYMENT_METHOD_ALL_CARD_AND_FINANCING: "PAYMENT_METHOD_ALL_CARD_AND_FINANCING";
    readonly PAYMENT_METHOD_ALL_FINANCING: "PAYMENT_METHOD_ALL_FINANCING";
    readonly PAYMENT_METHOD_SPLITIT: "PAYMENT_METHOD_SPLITIT";
    readonly PAYMENT_METHOD_SEZZLE: "PAYMENT_METHOD_SEZZLE";
    readonly PAYMENT_METHOD_AFTERPAY_CLEARPAY: "PAYMENT_METHOD_AFTERPAY_CLEARPAY";
    readonly PAYMENT_METHOD_ZIP: "PAYMENT_METHOD_ZIP";
    readonly PAYMENT_METHOD_KLARNA: "PAYMENT_METHOD_KLARNA";
    readonly PAYMENT_METHOD_AFFIRM: "PAYMENT_METHOD_AFFIRM";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type PaymentMethod = typeof PaymentMethod[keyof typeof PaymentMethod];
declare namespace PaymentMethod {
    type PAYMENT_METHOD_UNSPECIFIED = typeof PaymentMethod.PAYMENT_METHOD_UNSPECIFIED;
    type PAYMENT_METHOD_ALL_PAYMENT_METHODS = typeof PaymentMethod.PAYMENT_METHOD_ALL_PAYMENT_METHODS;
    type PAYMENT_METHOD_ALL_CARD_AND_FINANCING = typeof PaymentMethod.PAYMENT_METHOD_ALL_CARD_AND_FINANCING;
    type PAYMENT_METHOD_ALL_FINANCING = typeof PaymentMethod.PAYMENT_METHOD_ALL_FINANCING;
    type PAYMENT_METHOD_SPLITIT = typeof PaymentMethod.PAYMENT_METHOD_SPLITIT;
    type PAYMENT_METHOD_SEZZLE = typeof PaymentMethod.PAYMENT_METHOD_SEZZLE;
    type PAYMENT_METHOD_AFTERPAY_CLEARPAY = typeof PaymentMethod.PAYMENT_METHOD_AFTERPAY_CLEARPAY;
    type PAYMENT_METHOD_ZIP = typeof PaymentMethod.PAYMENT_METHOD_ZIP;
    type PAYMENT_METHOD_KLARNA = typeof PaymentMethod.PAYMENT_METHOD_KLARNA;
    type PAYMENT_METHOD_AFFIRM = typeof PaymentMethod.PAYMENT_METHOD_AFFIRM;
    type UNRECOGNIZED = typeof PaymentMethod.UNRECOGNIZED;
}
declare const DisputeMetric: {
    readonly DISPUTE_METRIC_UNSPECIFIED: "DISPUTE_METRIC_UNSPECIFIED";
    readonly DISPUTE_RATE: "DISPUTE_RATE";
    readonly TOTAL_TRANSACTIONS: "TOTAL_TRANSACTIONS";
    readonly DISPUTED_TRANSACTIONS: "DISPUTED_TRANSACTIONS";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type DisputeMetric = typeof DisputeMetric[keyof typeof DisputeMetric];
declare namespace DisputeMetric {
    type DISPUTE_METRIC_UNSPECIFIED = typeof DisputeMetric.DISPUTE_METRIC_UNSPECIFIED;
    type DISPUTE_RATE = typeof DisputeMetric.DISPUTE_RATE;
    type TOTAL_TRANSACTIONS = typeof DisputeMetric.TOTAL_TRANSACTIONS;
    type DISPUTED_TRANSACTIONS = typeof DisputeMetric.DISPUTED_TRANSACTIONS;
    type UNRECOGNIZED = typeof DisputeMetric.UNRECOGNIZED;
}
declare const LogicalOperator: {
    readonly LOGICAL_OPERATOR_UNSPECIFIED: "LOGICAL_OPERATOR_UNSPECIFIED";
    readonly AND: "AND";
    readonly OR: "OR";
    readonly UNRECOGNIZED: "UNRECOGNIZED";
};
type LogicalOperator = typeof LogicalOperator[keyof typeof LogicalOperator];
declare namespace LogicalOperator {
    type LOGICAL_OPERATOR_UNSPECIFIED = typeof LogicalOperator.LOGICAL_OPERATOR_UNSPECIFIED;
    type AND = typeof LogicalOperator.AND;
    type OR = typeof LogicalOperator.OR;
    type UNRECOGNIZED = typeof LogicalOperator.UNRECOGNIZED;
}
interface MetricFilter {
    paymentMethod: PaymentMethod;
    metric: DisputeMetric;
    floatRange?: FloatRange | undefined;
    intRange?: IntRange | undefined;
}
interface QueryBnplDisputeRatesRequest {
    /** Format: "biz_abcABC" */
    bizIds: string[];
    metricFilters: MetricFilter[];
    /** Defaults to AND if unspecified */
    metricFiltersOperator: LogicalOperator;
    limit: number;
    offset: number;
}
interface QueryBnplDisputeRatesResponse {
    records: BnplDisputeRatesRecord[];
    totalCount: number;
}
interface BnplDisputeRatesRecord {
    bizId: string;
    paymentMethodMetrics: PaymentMethodMetrics[];
}
interface PaymentMethodMetrics {
    paymentMethod: PaymentMethod;
    disputeRate: number;
    totalTransactions: number;
    disputedTransactions: number;
}
interface FloatRange {
    min?: number | undefined;
    max?: number | undefined;
}
interface IntRange {
    min?: number | undefined;
    max?: number | undefined;
}

type index_data_platform_BnplDisputeRatesRecord = BnplDisputeRatesRecord;
declare const index_data_platform_DisputeMetric: typeof DisputeMetric;
type index_data_platform_FloatRange = FloatRange;
type index_data_platform_IntRange = IntRange;
declare const index_data_platform_LogicalOperator: typeof LogicalOperator;
type index_data_platform_MetricFilter = MetricFilter;
declare const index_data_platform_PaymentMethod: typeof PaymentMethod;
type index_data_platform_PaymentMethodMetrics = PaymentMethodMetrics;
type index_data_platform_QueryBnplDisputeRatesRequest = QueryBnplDisputeRatesRequest;
type index_data_platform_QueryBnplDisputeRatesResponse = QueryBnplDisputeRatesResponse;
declare namespace index_data_platform {
  export { type index_data_platform_BnplDisputeRatesRecord as BnplDisputeRatesRecord, index_data_platform_DisputeMetric as DisputeMetric, type index_data_platform_FloatRange as FloatRange, type index_data_platform_IntRange as IntRange, index_data_platform_LogicalOperator as LogicalOperator, type index_data_platform_MetricFilter as MetricFilter, index_data_platform_PaymentMethod as PaymentMethod, type index_data_platform_PaymentMethodMetrics as PaymentMethodMetrics, type index_data_platform_QueryBnplDisputeRatesRequest as QueryBnplDisputeRatesRequest, type index_data_platform_QueryBnplDisputeRatesResponse as QueryBnplDisputeRatesResponse };
}

declare namespace index {
  export { index_bounties_app as bounties_app, index_calendar_bookings_app as calendar_bookings_app, index_common as common, index_content_app as content_app, index_content_rewards_app as content_rewards_app, index_courses_app as courses_app, index_data_platform as data_platform, index_diagnostics as diagnostics, index_events_app as events_app, index_experience as experience, index_games as games, index_google as google, index_wheel_app as wheel_app };
}

declare function getUserToken(token: string): string;
declare function getUserToken(tokenOrHeadersOrRequest: string | Headers | Request | null | undefined): string | null;
interface UserTokenPayload {
    userId: string;
    appId: string;
}
interface VerifyUserTokenOptions<DontThrow extends boolean = false> {
    appId: string;
    publicKey?: string;
    dontThrow?: DontThrow;
}
declare function makeUserTokenVerifier<DontThrow extends boolean = false>(options: VerifyUserTokenOptions<DontThrow>): <DT extends boolean = DontThrow>(tokenOrHeadersOrRequest: string | Headers | Request | null | undefined, overrideOptions?: Partial<VerifyUserTokenOptions<DT>>) => Promise<DT extends true ? UserTokenPayload | null : UserTokenPayload>;
declare function verifyUserToken<DontThrow extends boolean = false>(tokenOrHeadersOrRequest: string | Headers | Request | null | undefined, overrideOptions?: Partial<VerifyUserTokenOptions<DontThrow>>): Promise<Promise<DontThrow extends true ? UserTokenPayload | null : UserTokenPayload>>;

interface CustomFieldResponse {
    id: string;
    custom_field_id: string;
    value?: string | null;
}
interface MembershipWebhookData {
    id: string;
    product_id: string;
    user_id?: string | null;
    plan_id: string;
    page_id: string;
    created_at: number;
    expires_at?: number | null;
    renewal_period_start?: number | null;
    renewal_period_end?: number | null;
    quantity: number;
    status: string;
    valid: boolean;
    cancel_at_period_end: boolean;
    license_key?: string | null;
    metadata?: Record<string, unknown> | null;
    checkout_id?: string | null;
    affiliate_username?: string | null;
    manage_url: string;
    company_buyer_id?: string | null;
    marketplace: boolean;
    custom_field_responses: CustomFieldResponse[];
}
interface PaymentWebhookData {
    id: string;
    membership_id?: string | null;
    product_id?: string | null;
    user_id?: string | null;
    plan_id?: string | null;
    company_id: string;
    line_item_id?: string | null;
    created_at: number;
    paid_at?: number | null;
    refunded_at?: number | null;
    last_payment_attempt?: number | null;
    next_payment_attempt?: number | null;
    status: string;
    subtotal: number;
    final_amount: number;
    amount_after_fees?: number | null;
    currency: string;
    refunded_amount?: number | null;
    payments_failed: number;
    checkout_id?: string | null;
    card_brand?: string | null;
    card_last_4?: string | null;
    funding_method?: string | null;
    wallet_type?: "apple_pay" | "google_pay" | "paypal" | "venmo" | null;
    calculated_statement_descriptor?: string | null;
    issuer_identification_number?: string | null;
    billing_usage_ids: string[];
    company_buyer_id?: string | null;
    payment_method_type?: string | null;
    metadata?: Record<string, unknown> | null;
}
interface RefundWebhookData {
    id: string;
    status: string;
    amount: number;
    currency: string;
    gateway_type: string;
    created_at: number;
    payment_id: string;
    payment: PaymentWebhookData;
}
interface DisputeWebhookData {
    id: string;
    status: string;
    amount: number;
    currency: string;
    created_at: number;
    payment_id: string;
    payment: PaymentWebhookData;
}
type WhopWebhookRequestBody = {
    action: "membership.went_valid" | "membership.went_invalid" | "membership.metadata_updated" | "membership.cancel_at_period_end_changed" | "membership.experience_claimed";
    data: MembershipWebhookData;
} | {
    action: "payment.succeeded" | "payment.failed" | "payment.pending" | "payment.affiliate_reward_created";
    data: PaymentWebhookData;
} | {
    action: "refund.created" | "refund.updated";
    data: RefundWebhookData;
} | {
    action: "dispute.created" | "dispute.updated";
    data: DisputeWebhookData;
} | {
    action: "app_membership.went_valid" | "app_membership.went_invalid" | "app_membership.cancel_at_period_end_changed";
    data: MembershipWebhookData;
} | {
    action: "app_payment.succeeded" | "app_payment.failed" | "app_payment.pending";
    data: PaymentWebhookData;
};

declare function makeWebhookValidator({ webhookSecret, signatureHeaderName, }: {
    webhookSecret: string;
    signatureHeaderName?: string | null;
}): (req: Request) => Promise<WhopWebhookRequestBody>;

type ReceivableWebsocketMessage = WebsocketMessageServerToClient;
type SendableWebsocketMessage = WebsocketMessageClientToServer;
type WebsocketStatus = "connected" | "disconnected" | "connecting";
type WebsocketMessageHandler = (message: ReceivableWebsocketMessage) => unknown;
type WebsocketStatusHandler = (status: WebsocketStatus) => unknown;
interface WhopWebsocketEvents {
    message: (message: ReceivableWebsocketMessage) => void;
    appMessage: (message: AppMessage) => void;
    connectionStatus: (status: WebsocketStatus) => void;
    connect: () => void;
    disconnect: () => void;
}
declare class WhopWebsocketClientBase extends TypedEmitter<WhopWebsocketEvents> {
    private websocket;
    private failedConnectionAttempts;
    private status;
    private wantsToBeConnected;
    protected makeWebsocket(): WebSocket;
    connect(): () => void;
    disconnect(): void;
    send(message: SendableWebsocketMessage): void;
    broadcast({ message, target, }: {
        message: string;
        target: WebsocketBroadcastTarget;
    }): void;
    private setStatus;
    private calculateBackoff;
}
type WebsocketBroadcastTarget = {
    experienceId: string;
} | {
    customId: string;
} | "everyone";

interface WebsocketClientOptionsClient {
    joinExperience?: string | string[] | null;
    joinCustom?: string | string[] | null;
    joinPublic?: string | string[] | null;
}
declare class WhopWebsocketClientBrowser extends WhopWebsocketClientBase {
    private options;
    constructor(options: WebsocketClientOptionsClient);
    protected makeWebsocket(): WebSocket;
}

interface WhopOAuthProfile {
    id: string;
    username?: string;
    email: string;
    profile_pic_url?: string;
}
/**
 * The authorization tokens returned from the Whop OAuth2 API.
 */
interface WhopOAuthTokens {
    /**
     * The primary access token for the user.
     */
    access_token: string;
    /**
     * The number of seconds until the access token expires.
     */
    expires_in: number;
    /**
     * The timestamp of when the access token was created (in s).
     */
    created_at: number;
}
/**
 * The OAuth2 class is used to interact with the Whop OAuth2 API.
 *
 * @see https://dev.whop.com/features/oauth-guide
 */
declare class WhopOAuth {
    /**
     * Your Whop app id. This can be found in your developer dashboard
     *
     * @see https://whop.com/dashboard/developer/
     */
    private readonly appId;
    /**
     * Your Whop app api key. This can be found in your developer dashboard
     *
     * @see https://whop.com/dashboard/developer/
     */
    private readonly appApiKey;
    /**
     * **optional** - The origin of the Whop API. This is used to make API requests to the Whop API.
     *
     * @default https://api.whop.com
     */
    private readonly apiOrigin;
    static readonly OAUTH_URL = "https://whop.com/oauth/";
    constructor(
    /**
     * Your Whop app id. This can be found in your developer dashboard
     *
     * @see https://whop.com/dashboard/developer/
     */
    appId: string, 
    /**
     * Your Whop app api key. This can be found in your developer dashboard
     *
     * @see https://whop.com/dashboard/developer/
     */
    appApiKey: string, 
    /**
     * **optional** - The origin of the Whop API. This is used to make API requests to the Whop API.
     *
     * @default https://api.whop.com
     */
    apiOrigin?: string);
    /**
     * Get an authorization url to start the OAuth2 flow.
     *
     * ```ts
     * const { url, state } = whopOAuth.getAuthorizationUrl({
     * 	redirectUri: "http://localhost:3000/api/oauth/callback",
     * 	scope: ["read_user"],
     * })
     * ```
     */
    getAuthorizationUrl({ state, redirectUri, scope, }: {
        /**
         * The state to be used in the OAuth2 flow. This is used to prevent CSRF attacks.
         *
         * **optional** - defaults to a random uuid
         */
        state?: string;
        /**
         * The redirect uri to be used in the OAuth2 flow. This is used to redirect the user back to your app after authorization.
         *
         * **NOTE** - the redirect uri you are using here must be defined in your app's settings in the developer dashboard.
         *
         * @see https://whop.com/dashboard/developer/
         */
        redirectUri: string | URL;
        /**
         * The scopes to be used in the OAuth2 flow. This is used to request permissions from the user.
         *
         * @see https://dev.whop.com/api-reference/graphql/scopes
         */
        scope?: AppValidScopes[];
    }): {
        /**
         * The url to redirect the user to for authorization
         */
        url: string;
        /**
         * The state to be used in the OAuth2 flow. This is used to prevent CSRF attacks.
         */
        state: string;
    };
    /**
     * Exchange a code for a token.
     *
     * ```ts
     * const authResponse = await whopOAuth.exchangeCode({
     * 	code: "1234",
     * 	redirectUri: "http://localhost:3000/api/oauth/callback",
     * })
     *
     * if (!authResponse.ok) {
     * 	throw new Error(`Failed to exchange code for token. Status: ${authResponse.code}`);
     * }
     *
     * const { access_token } = authResponse.tokens;
     * ```
     */
    exchangeCode({ code, redirectUri, }: {
        /**
         * The code you received when the user was redirected back to your app.
         */
        code: string;
        /**
         * The redirect uri you used when getting the authorization url.
         *
         * **NOTE** - this must be the same as the redirect uri you used when getting the authorization url.
         */
        redirectUri: string | URL;
    }): Promise<{
        ok: true;
        /**
         * The authorization token you received from the user to make request to the Whop API
         */
        tokens: WhopOAuthTokens;
    } | {
        ok: false;
        /**
         * The status code of the response
         */
        code: number;
        /**
         * The raw response from the Whop API
         */
        raw: Response;
    }>;
    /**
     * Get an Auth.js provider for the Whop OAuth2 API.
     *
     * Works with any Auth.js compatible client:
     * - [`next-auth`](https://www.npmjs.com/package/next-auth)
     * - [`@auth/qwik`](https://www.npmjs.com/package/@auth/qwik)
     * - [`@auth/sveltekit`](https://www.npmjs.com/package/@auth/sveltekit)
     * - [`@auth/express`](https://www.npmjs.com/package/@auth/express)
     * - etc.
     *
     * ```ts
     * const WhopProvider = whopOAuth.authJsProvider({
     * 	scope: ["read_user"],
     * })
     *
     * export const auth = Auth({
     *		providers: [WhopProvider],
     *	});
     * ```
     */
    authJsProvider({ scope, }: {
        /**
         * The scopes to be used in the OAuth2 flow. This is used to request permissions from the user.
         *
         * @see https://dev.whop.com/api-reference/graphql/scopes
         */
        scope?: AppValidScopes[];
    }): OAuth2Config<WhopOAuthProfile>;
}

/**
 * SDK options for server side use
 */
interface WhopServerSdkOptions {
    /** The API key to use for API calls */
    appApiKey: string;
    /** Required when using the oauth module. Defaults to `NEXT_PUBLIC_WHOP_APP_ID` */
    appId: string;
    /** Use this to make the API calls on behalf of a user */
    onBehalfOfUserId?: string;
    /** Use this to make the API calls on behalf of a company */
    companyId?: string;
    /** the origin of the API */
    apiOrigin?: string;
    /** the path of the API */
    apiPath?: string;
    /** the origin of the server to server websocket api */
    websocketOrigin?: string;
}
declare function BaseWhopServerSdk(options: WhopServerSdkOptions, uploadFile: ReturnType<typeof makeUploadAttachmentFunction>): {
    attachments: {
        uploadAttachment: (input: {
            data: File | Blob;
            id: string;
            multipartUploadUrls: {
                __typename?: "MultipartUrl";
                partNumber: number;
                url: string;
            }[];
            multipartUploadId: string;
            record: AttachableRecords$1;
            multipart: true;
            uploadUrl?: undefined;
            headers?: undefined;
        } | {
            data: File | Blob;
            id: string;
            uploadUrl: string;
            headers: Record<string, string>;
            record: AttachableRecords$1;
            multipart: false;
            multipartUploadUrls?: undefined;
            multipartUploadId?: undefined;
        } | {
            file: File | Blob;
            record: AttachableRecords$1;
        } | Promise<{
            data: File | Blob;
            id: string;
            multipartUploadUrls: {
                __typename?: "MultipartUrl";
                partNumber: number;
                url: string;
            }[];
            multipartUploadId: string;
            record: AttachableRecords$1;
            multipart: true;
            uploadUrl?: undefined;
            headers?: undefined;
        } | {
            data: File | Blob;
            id: string;
            uploadUrl: string;
            headers: Record<string, string>;
            record: AttachableRecords$1;
            multipart: false;
            multipartUploadUrls?: undefined;
            multipartUploadId?: undefined;
        }>, args_1?: UploadFileOptions | undefined) => Promise<UploadAttachmentResponse>;
        prepareAttachmentForUpload: (data: File | Blob, record: AttachableRecords$1) => Promise<{
            data: File | Blob;
            id: string;
            multipartUploadUrls: {
                __typename?: "MultipartUrl";
                partNumber: number;
                url: string;
            }[];
            multipartUploadId: string;
            record: AttachableRecords$1;
            multipart: true;
            uploadUrl?: undefined;
            headers?: undefined;
        } | {
            data: File | Blob;
            id: string;
            uploadUrl: string;
            headers: Record<string, string>;
            record: AttachableRecords$1;
            multipart: false;
            multipartUploadUrls?: undefined;
            multipartUploadId?: undefined;
        }>;
        analyzeAttachment: (signedId: string, opts?: {
            signal?: AbortSignal;
        } | undefined) => Promise<({
            __typename: "AudioAttachment";
            duration?: number | null;
            waveformUrl?: string | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } & {
            _error?: Error;
        }) | ({
            __typename: "ImageAttachment";
            height?: number | null;
            width?: number | null;
            blurhash?: string | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } & {
            _error?: Error;
        }) | ({
            __typename: "OtherAttachment";
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } & {
            _error?: Error;
        }) | ({
            __typename: "VideoAttachment";
            height?: number | null;
            width?: number | null;
            duration?: number | null;
            aspectRatio?: number | null;
            id: string;
            signedId?: string | null;
            analyzed: boolean;
            byteSizeV2?: string | null;
            filename?: string | null;
            contentType?: string | null;
            preview: {
                __typename?: "AttachmentSource";
                url: string;
            };
            source: {
                __typename?: "AttachmentSource";
                url: string;
            };
        } & {
            _error?: Error;
        }) | undefined>;
        getAttachment(variables: Exact<{
            id: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<GetAttachmentQuery["attachment"]>>;
        processAttachment(variables: AnalyzeAttachmentInput, options?: RequestInit | undefined): Promise<WithError<ProcessAttachmentMutation["mediaAnalyzeAttachment"]>>;
        uploadMedia(variables: DirectUploadInput, options?: RequestInit | undefined): Promise<WithError<UploadMediaMutation["mediaDirectUpload"]>>;
    };
    websockets: {
        sendMessage: (input: {
            message: string;
            target: {
                experience: string;
            } | {
                user: string;
            } | {
                custom: string;
            } | "everyone";
        }) => Promise<void>;
        client: () => WhopWebsocketClientServer;
    };
    oauth: WhopOAuth;
    verifyUserToken: <DT extends boolean = false>(tokenOrHeadersOrRequest: string | Headers | Request | null | undefined, overrideOptions?: Partial<VerifyUserTokenOptions<DT>> | undefined) => Promise<DT extends true ? UserTokenPayload | null : UserTokenPayload>;
    accessPasses: {
        createAccessPass(variables: CreateAccessPassInput, options?: RequestInit | undefined): Promise<WithError<CreateAccessPassMutation["createAccessPass"]>>;
        deleteAccessPass(variables: DeleteAccessPassInput, options?: RequestInit | undefined): Promise<WithError<DeleteAccessPassMutation["deleteAccessPass"]>>;
        getAccessPass(variables: Exact<{
            accessPassId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<GetAccessPassQuery["accessPass"]>>;
        updateAccessPass(variables: UpdateAccessPassInput, options?: RequestInit | undefined): Promise<WithError<UpdateAccessPassMutation["updateAccessPass"]>>;
    };
    access: {
        checkIfUserHasAccessToAccessPass(variables: Exact<{
            accessPassId: Scalars["ID"]["input"];
            userId?: InputMaybe<Scalars["ID"]["input"]>;
        }>, options?: RequestInit | undefined): Promise<WithError<CheckIfUserHasAccessToAccessPassQuery["hasAccessToAccessPass"]>>;
        checkIfUserHasAccessToCompany(variables: Exact<{
            companyId: Scalars["ID"]["input"];
            userId?: InputMaybe<Scalars["ID"]["input"]>;
        }>, options?: RequestInit | undefined): Promise<WithError<CheckIfUserHasAccessToCompanyQuery["hasAccessToCompany"]>>;
        checkIfUserHasAccessToExperience(variables: Exact<{
            experienceId: Scalars["ID"]["input"];
            userId?: InputMaybe<Scalars["ID"]["input"]>;
        }>, options?: RequestInit | undefined): Promise<WithError<CheckIfUserHasAccessToExperienceQuery["hasAccessToExperience"]>>;
    };
    affiliates: {
        createAffiliate(variables: CreateAffiliateInput, options?: RequestInit | undefined): Promise<WithError<CreateAffiliateMutation["createAffiliate"]>>;
        getAffiliate(variables: Exact<{
            affiliateId: Scalars["ID"]["input"];
            companyId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<GetAffiliateQuery["company"]>>;
        listAffiliates(variables: Exact<{
            companyId: Scalars["ID"]["input"];
            after?: InputMaybe<Scalars["String"]["input"]>;
            before?: InputMaybe<Scalars["String"]["input"]>;
            direction?: InputMaybe<Direction>;
            first?: InputMaybe<Scalars["Int"]["input"]>;
            last?: InputMaybe<Scalars["Int"]["input"]>;
            order?: InputMaybe<AffiliatesSortableColumns>;
        }>, options?: RequestInit | undefined): Promise<WithError<ListAffiliatesQuery["company"]>>;
        updateAffiliate(variables: UpdateAffiliateInput, options?: RequestInit | undefined): Promise<WithError<UpdateAffiliateMutation["updateAffiliate"]>>;
    };
    apps: {
        createAppBuild(variables: CreateAppBuildInput, options?: RequestInit | undefined): Promise<WithError<CreateAppBuildMutation["createAppBuild"]>>;
        createApp(variables: CreateAppInput, options?: RequestInit | undefined): Promise<WithError<CreateAppMutation["createApp"]>>;
        getApp(variables: Exact<{
            appId: Scalars["ID"]["input"];
            companyId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<GetAppQuery["company"]>>;
        listApps(variables: Exact<{
            companyId: Scalars["ID"]["input"];
            after?: InputMaybe<Scalars["String"]["input"]>;
            before?: InputMaybe<Scalars["String"]["input"]>;
            first?: InputMaybe<Scalars["Int"]["input"]>;
            last?: InputMaybe<Scalars["Int"]["input"]>;
        }>, options?: RequestInit | undefined): Promise<WithError<ListAppsQuery["company"]>>;
        promoteAppBuild(variables: PromoteAppBuildToProductionInput, options?: RequestInit | undefined): Promise<WithError<PromoteAppBuildMutation["promoteAppBuildToProduction"]>>;
        unassignAppBuild(variables: UnassignProductionAppBuildInput, options?: RequestInit | undefined): Promise<WithError<UnassignAppBuildMutation["unassignProductionAppBuild"]>>;
        updateAppPermissions(variables: UpdateAppPermissionRequirementsInput, options?: RequestInit | undefined): Promise<WithError<UpdateAppPermissionsMutation["updateAppPermissionRequirements"]>>;
        updateApp(variables: UpdateAppInput, options?: RequestInit | undefined): Promise<WithError<UpdateAppMutation["updateApp"]>>;
    };
    companies: {
        getCompanyLedgerAccount(variables: Exact<{
            companyId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<GetCompanyLedgerAccountQuery["company"]>>;
        getCompany(variables: Exact<{
            companyId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<GetCompanyQuery["company"]>>;
        getMember(variables: Exact<{
            companyMemberId: Scalars["ID"]["input"];
            companyId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<GetMemberQuery["company"]>>;
        listAccessPasses(variables: Exact<{
            companyId: Scalars["ID"]["input"];
            visibility?: InputMaybe<VisibilityFilter>;
            order?: InputMaybe<AccessPassOrder>;
            last?: InputMaybe<Scalars["Int"]["input"]>;
            first?: InputMaybe<Scalars["Int"]["input"]>;
            direction?: InputMaybe<Direction>;
            conditions?: InputMaybe<Array<AccessPassConditions> | AccessPassConditions>;
            before?: InputMaybe<Scalars["String"]["input"]>;
            after?: InputMaybe<Scalars["String"]["input"]>;
            accessPassTypes?: InputMaybe<Array<AccessPassTypes> | AccessPassTypes>;
        }>, options?: RequestInit | undefined): Promise<WithError<ListAccessPassesQuery["company"]>>;
        listAuthorizedUsers(variables: Exact<{
            companyId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<ListAuthorizedUsersQuery["company"]>>;
        listMembers(variables: Exact<{
            companyId: Scalars["ID"]["input"];
            after?: InputMaybe<Scalars["String"]["input"]>;
            before?: InputMaybe<Scalars["String"]["input"]>;
            direction?: InputMaybe<Direction>;
            first?: InputMaybe<Scalars["Int"]["input"]>;
            last?: InputMaybe<Scalars["Int"]["input"]>;
            order?: InputMaybe<MembersSortableColumns>;
            filters?: InputMaybe<MembersFiltersInput>;
        }>, options?: RequestInit | undefined): Promise<WithError<ListMembersQuery["company"]>>;
        listMemberships(variables: Exact<{
            companyId: Scalars["ID"]["input"];
            after?: InputMaybe<Scalars["String"]["input"]>;
            before?: InputMaybe<Scalars["String"]["input"]>;
            direction?: InputMaybe<Direction>;
            first?: InputMaybe<Scalars["Int"]["input"]>;
            last?: InputMaybe<Scalars["Int"]["input"]>;
            order?: InputMaybe<MembershipsSortableColumns>;
            filters?: InputMaybe<MembershipsFiltersInput>;
        }>, options?: RequestInit | undefined): Promise<WithError<ListMembershipsQuery["company"]>>;
        listPlans(variables: Exact<{
            companyId: Scalars["ID"]["input"];
            after?: InputMaybe<Scalars["String"]["input"]>;
            before?: InputMaybe<Scalars["String"]["input"]>;
            filter?: InputMaybe<PlanFilters>;
            first?: InputMaybe<Scalars["Int"]["input"]>;
            last?: InputMaybe<Scalars["Int"]["input"]>;
        }>, options?: RequestInit | undefined): Promise<WithError<ListPlansQuery["company"]>>;
        listWaitlistEntries(variables: Exact<{
            companyId: Scalars["ID"]["input"];
            after?: InputMaybe<Scalars["String"]["input"]>;
            before?: InputMaybe<Scalars["String"]["input"]>;
            direction?: InputMaybe<Direction>;
            first?: InputMaybe<Scalars["Int"]["input"]>;
            last?: InputMaybe<Scalars["Int"]["input"]>;
            order?: InputMaybe<EntriesSortableColumns>;
            filters?: InputMaybe<EntriesFiltersInput>;
        }>, options?: RequestInit | undefined): Promise<WithError<ListWaitlistEntriesQuery["company"]>>;
    };
    courses: {
        createAssessmentQuestion(variables: CreateAssessmentQuestionInput, options?: RequestInit | undefined): Promise<WithError<CreateAssessmentQuestionMutation["createAssessmentQuestion"]>>;
        createChapter(variables: CreateChapterInput, options?: RequestInit | undefined): Promise<WithError<CreateChapterMutation["createChapter"]>>;
        createCourse(variables: CreateCourseInput, options?: RequestInit | undefined): Promise<WithError<CreateCourseMutation["createCourse"]>>;
        createLesson(variables: CreateLessonInput, options?: RequestInit | undefined): Promise<WithError<CreateLessonMutation["createLesson"]>>;
        deleteAssessmentQuestionImage(variables: DeleteAssessmentQuestionImageInput, options?: RequestInit | undefined): Promise<WithError<DeleteAssessmentQuestionImageMutation["deleteAssessmentQuestionImage"]>>;
        deleteChapter(variables: DeleteChapterInput, options?: RequestInit | undefined): Promise<WithError<DeleteChapterMutation["deleteChapter"]>>;
        deleteLessonAttachment(variables: DeleteLessonAttachmentInput, options?: RequestInit | undefined): Promise<WithError<DeleteLessonAttachmentMutation["deleteLessonAttachment"]>>;
        deleteLesson(variables: DeleteLessonInput, options?: RequestInit | undefined): Promise<WithError<DeleteLessonMutation["deleteLesson"]>>;
        getCourse(variables: Exact<{
            courseId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<GetCourseQuery["course"]>>;
        getLesson(variables: Exact<{
            courseId: Scalars["ID"]["input"];
            lessonId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<GetLessonQuery["course"]>>;
        getUserLessonInteractions(variables: Exact<{
            courseId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<GetUserLessonInteractionsQuery["course"]>>;
        listCoursesForCompany(variables: Exact<{
            companyId: Scalars["ID"]["input"];
            first?: InputMaybe<Scalars["Int"]["input"]>;
            after?: InputMaybe<Scalars["String"]["input"]>;
        }>, options?: RequestInit | undefined): Promise<WithError<ListCoursesForCompanyQuery["company"]>>;
        listCoursesForExperience(variables: Exact<{
            experienceId: Scalars["ID"]["input"];
            first?: InputMaybe<Scalars["Int"]["input"]>;
            after?: InputMaybe<Scalars["String"]["input"]>;
        }>, options?: RequestInit | undefined): Promise<WithError<ListCoursesForExperienceQuery["publicExperience"]>>;
        markLessonAsCompleted(variables: MarkLessonAsCompletedInput, options?: RequestInit | undefined): Promise<WithError<MarkLessonAsCompletedMutation["markLessonAsCompleted"]>>;
        moveCourse(variables: MoveCourseInput, options?: RequestInit | undefined): Promise<WithError<MoveCourseMutation["moveCourse"]>>;
        updateChapterOrder(variables: UpdateChapterOrderInput, options?: RequestInit | undefined): Promise<WithError<UpdateChapterOrderMutation["updateChapterOrder"]>>;
        updateChapter(variables: UpdateChapterInput, options?: RequestInit | undefined): Promise<WithError<UpdateChapterMutation["updateChapter"]>>;
        updateLessonOrder(variables: UpdateLessonOrderInput, options?: RequestInit | undefined): Promise<WithError<UpdateLessonOrderMutation["updateLessonOrder"]>>;
        updateLesson(variables: UpdateLessonInput, options?: RequestInit | undefined): Promise<WithError<UpdateLessonMutation["updateLesson"]>>;
    };
    experiences: {
        getExperience(variables: Exact<{
            experienceId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<GetExperienceQuery["experience"]>>;
        listAccessPassesForExperience(variables: Exact<{
            experienceId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<ListAccessPassesForExperienceQuery["experience"]>>;
        listExperiences(variables: Exact<{
            after?: InputMaybe<Scalars["String"]["input"]>;
            first?: InputMaybe<Scalars["Int"]["input"]>;
            accessPassId?: InputMaybe<Scalars["ID"]["input"]>;
            appId?: InputMaybe<Scalars["ID"]["input"]>;
            onAccessPass?: InputMaybe<Scalars["Boolean"]["input"]>;
            companyId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<ListExperiencesQuery["company"]>>;
        listUsersForExperience(variables: Exact<{
            experienceId: Scalars["ID"]["input"];
            after?: InputMaybe<Scalars["String"]["input"]>;
            before?: InputMaybe<Scalars["String"]["input"]>;
            direction?: InputMaybe<Direction>;
            first?: InputMaybe<Scalars["Int"]["input"]>;
            searchQuery?: InputMaybe<Scalars["String"]["input"]>;
        }>, options?: RequestInit | undefined): Promise<WithError<ListUsersForExperienceQuery["publicExperience"]>>;
    };
    forums: {
        createForumPost(variables: CreateForumPostInput, options?: RequestInit | undefined): Promise<WithError<CreateForumPostMutation["createForumPost"]>>;
        findOrCreateForum(variables: CreateForumInput, options?: RequestInit | undefined): Promise<WithError<FindOrCreateForumMutation["createForum"]>>;
        listForumPostsFromForum(variables: Exact<{
            experienceId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<ListForumPostsFromForumQuery["feedPosts"]>>;
    };
    invoices: {
        createInvoice(variables: CreateInvoiceInput, options?: RequestInit | undefined): Promise<WithError<CreateInvoiceMutation["createInvoice"]>>;
        getInvoice(variables: Exact<{
            invoiceId: Scalars["ID"]["input"];
            companyId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<GetInvoiceQuery["company"]>>;
        listInvoices(variables: Exact<{
            companyId: Scalars["ID"]["input"];
            after?: InputMaybe<Scalars["String"]["input"]>;
            before?: InputMaybe<Scalars["String"]["input"]>;
            first?: InputMaybe<Scalars["Int"]["input"]>;
            last?: InputMaybe<Scalars["Int"]["input"]>;
        }>, options?: RequestInit | undefined): Promise<WithError<ListInvoicesQuery["company"]>>;
    };
    messages: {
        findOrCreateChat(variables: CreateChatInput, options?: RequestInit | undefined): Promise<WithError<FindOrCreateChatMutation["createChat"]>>;
        listDirectMessageConversations(variables?: Exact<{
            beforeTimestamp?: InputMaybe<Scalars["BigInt"]["input"]>;
            limit?: InputMaybe<Scalars["Int"]["input"]>;
            query?: InputMaybe<Scalars["String"]["input"]>;
            status?: InputMaybe<DmsFeedMemberStatuses>;
            unread?: InputMaybe<Scalars["Boolean"]["input"]>;
        }> | undefined, options?: RequestInit | undefined): Promise<WithError<ListDirectMessageConversationsQuery["myDmsChannelsV2"]>>;
        listMessagesFromChat(variables?: Exact<{
            chatExperienceId?: InputMaybe<Scalars["ID"]["input"]>;
        }> | undefined, options?: RequestInit | undefined): Promise<WithError<ListMessagesFromChatQuery["feedPosts"]>>;
        sendDirectMessageToUser(variables: Exact<{
            toUserIdOrUsername: Scalars["ID"]["input"];
            message: Scalars["String"]["input"];
            attachments?: InputMaybe<Array<AttachmentInput> | AttachmentInput>;
        }>, options?: RequestInit | undefined): Promise<WithError<SendDirectMessageToUserMutation["sendMessage"]>>;
        sendMessageToChat(variables: Exact<{
            experienceId: Scalars["ID"]["input"];
            message: Scalars["String"]["input"];
            attachments?: InputMaybe<Array<AttachmentInput> | AttachmentInput>;
        }>, options?: RequestInit | undefined): Promise<WithError<SendMessageToChatMutation["sendMessage"]>>;
    };
    notifications: {
        sendPushNotification(variables: SendNotificationInput, options?: RequestInit | undefined): Promise<WithError<SendPushNotificationMutation["sendNotification"]>>;
    };
    payments: {
        chargeUser(variables: ChargeUserInput, options?: RequestInit | undefined): Promise<WithError<ChargeUserMutation["chargeUser"]>>;
        createCheckoutSession(variables: CreateCheckoutSessionInput, options?: RequestInit | undefined): Promise<WithError<CreateCheckoutSessionMutation["createCheckoutSession"]>>;
        listReceiptsForCompany(variables: Exact<{
            companyId: Scalars["ID"]["input"];
            first?: InputMaybe<Scalars["Int"]["input"]>;
            after?: InputMaybe<Scalars["String"]["input"]>;
            filter?: InputMaybe<ReceiptV2Filters>;
        }>, options?: RequestInit | undefined): Promise<WithError<ListReceiptsForCompanyQuery["company"]>>;
        payUser(variables: TransferFundsInput, options?: RequestInit | undefined): Promise<WithError<PayUserMutation["transferFunds"]>>;
    };
    promoCodes: {
        createPromoCode(variables: CreatePromoCodeInput, options?: RequestInit | undefined): Promise<WithError<CreatePromoCodeMutation["createPromoCode"]>>;
        deletePromoCode(variables: DeletePromoCodeInput, options?: RequestInit | undefined): Promise<WithError<DeletePromoCodeMutation["deletePromoCode"]>>;
        getPromoCode(variables: Exact<{
            code: Scalars["String"]["input"];
            planId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<GetPromoCodeQuery["promoCode"]>>;
        listPromoCodes(variables: Exact<{
            companyId: Scalars["ID"]["input"];
            after?: InputMaybe<Scalars["String"]["input"]>;
            before?: InputMaybe<Scalars["String"]["input"]>;
            first?: InputMaybe<Scalars["Int"]["input"]>;
            last?: InputMaybe<Scalars["Int"]["input"]>;
            filters?: InputMaybe<PromoCodeFilters>;
        }>, options?: RequestInit | undefined): Promise<WithError<ListPromoCodesQuery["company"]>>;
    };
    users: {
        banUser(variables: BanUserInput, options?: RequestInit | undefined): Promise<WithError<BanUserMutation["banUser"]>>;
        getCurrentUser(variables?: Exact<{
            [key: string]: never;
        }> | undefined, options?: RequestInit | undefined): Promise<WithError<GetCurrentUserQuery["viewer"]>>;
        getUserLedgerAccount(variables?: Exact<{
            [key: string]: never;
        }> | undefined, options?: RequestInit | undefined): Promise<WithError<GetUserLedgerAccountQuery["viewer"]>>;
        getUser(variables: Exact<{
            userId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<GetUserQuery["publicUser"]>>;
        listUserSocials(variables: Exact<{
            userId: Scalars["ID"]["input"];
            after?: InputMaybe<Scalars["String"]["input"]>;
            before?: InputMaybe<Scalars["String"]["input"]>;
            first?: InputMaybe<Scalars["Int"]["input"]>;
            last?: InputMaybe<Scalars["Int"]["input"]>;
        }>, options?: RequestInit | undefined): Promise<WithError<ListUserSocialsQuery["publicUser"]>>;
        muteUser(variables: CreateCompanyMutedUserInput, options?: RequestInit | undefined): Promise<WithError<MuteUserMutation["createCompanyMutedUser"]>>;
        unbanUser(variables: UnbanUserInput, options?: RequestInit | undefined): Promise<WithError<UnbanUserMutation["unbanUser"]>>;
        unmuteUser(variables: DeleteCompanyMutedUserInput, options?: RequestInit | undefined): Promise<WithError<UnmuteUserMutation["deleteCompanyMutedUser"]>>;
    };
    webhooks: {
        createWebhook(variables: CreateWebhookInput, options?: RequestInit | undefined): Promise<WithError<CreateWebhookMutation["createWebhook"]>>;
        deleteWebhook(variables: DeleteWebhookInput, options?: RequestInit | undefined): Promise<WithError<DeleteWebhookMutation["deleteWebhook"]>>;
        getWebhook(variables: Exact<{
            webhookId: Scalars["ID"]["input"];
            companyId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<GetWebhookQuery["company"]>>;
        listWebhooks(variables: Exact<{
            companyId: Scalars["ID"]["input"];
        }>, options?: RequestInit | undefined): Promise<WithError<ListWebhooksQuery["company"]>>;
        testWebhook(variables: TestWebhookV2Input, options?: RequestInit | undefined): Promise<WithError<TestWebhookMutation["testWebhookV2"]>>;
        updateWebhook(variables: UpdateWebhookInput, options?: RequestInit | undefined): Promise<WithError<UpdateWebhookMutation["updateWebhook"]>>;
    };
};
type WhopServerSdk = ReturnType<typeof BaseWhopServerSdk> & {
    withUser: (userId: string) => WhopServerSdk;
    withCompany: (companyId: string) => WhopServerSdk;
};

declare class WhopWebsocketClientServer extends WhopWebsocketClientBase {
    private keys;
    constructor(keys: WhopServerSdkOptions);
    protected makeWebsocket(): WebSocket;
}

/**
 * SDK options for client side use
 */
interface WhopClientSdkOptions {
    /** the origin of the API */
    apiOrigin?: string;
    /** the path of the API */
    apiPath?: string;
}

export { type ListForumPostsFromForumQuery$1 as $, type AttachableRecords$1 as A, type ListCoursesForExperienceQuery$1 as B, type CreateAssessmentQuestionInput$1 as C, type DirectUploadInput$1 as D, type Exact$1 as E, type MarkLessonAsCompletedMutation$1 as F, type GetAttachmentQuery$1 as G, type MoveCourseInput$1 as H, type InputMaybe$1 as I, type MoveCourseMutation$1 as J, type UpdateChapterOrderInput$1 as K, type ListCoursesForCompanyQuery$1 as L, type MarkLessonAsCompletedInput$1 as M, type UpdateChapterOrderMutation$1 as N, type UpdateChapterInput$1 as O, type ProcessAttachmentMutation$1 as P, type UpdateChapterMutation$1 as Q, type UpdateLessonOrderInput$1 as R, type Scalars$1 as S, type UpdateLessonOrderMutation$1 as T, type UploadFileOptions as U, type UpdateLessonInput$1 as V, type WhopClientSdkOptions as W, type UpdateLessonMutation$1 as X, type GetExperienceQuery$1 as Y, type Direction$1 as Z, type ListUsersForExperienceQuery$1 as _, type UploadAttachmentResponse as a, type AppStatuses as a$, type ListMessagesFromChatQuery$1 as a0, type GetCurrentUserQuery$1 as a1, type GetUserLedgerAccountQuery$1 as a2, type GetUserQuery$1 as a3, type WhopServerSdkOptions as a4, type WhopServerSdk as a5, index as a6, getUserToken as a7, makeUserTokenVerifier as a8, verifyUserToken as a9, type AbuseReportStatus as aA, type AcceptedPaymentMethods as aB, type AccessLevel as aC, type AccessPassAffiliateOrder as aD, type AccessPassAffiliateStatuses as aE, type AccessPassAttachmentCategories as aF, type AccessPassConditions as aG, type AccessPassFilters as aH, type AccessPassOnboardingVersionTypes as aI, type AccessPassOrder as aJ, type AccessPassProductHighlightInput as aK, type AccessPassSocialLinkInput as aL, type AccessPassTypes as aM, type AccessPassesSortableColumns as aN, type AffiliatePayoutTypes as aO, type AffiliatePlansSortableColumns as aP, type AffiliateReferralLogFilters as aQ, type AffiliateReferralLogsSortableColumns as aR, type AffiliateTypes as aS, type AffiliatesSortableColumns as aT, type AnalyzeAttachmentInput as aU, type ApiKeyPermissions as aV, type ApiVersion as aW, type AppBuildPlatforms as aX, type AppBuildStatuses as aY, type AppImageStyles as aZ, type AppRequestedPermissionInput as a_, type UserTokenPayload as aa, type VerifyUserTokenOptions as ab, type DisputeWebhookData as ac, type MembershipWebhookData as ad, type PaymentWebhookData as ae, type RefundWebhookData as af, makeWebhookValidator as ag, type WhopWebhookRequestBody as ah, type ReceivableWebsocketMessage as ai, type SendableWebsocketMessage as aj, type WebsocketBroadcastTarget as ak, type WebsocketMessageHandler as al, type WebsocketStatus as am, type WebsocketStatusHandler as an, WhopWebsocketClientBase as ao, WhopWebsocketClientServer as ap, type Maybe as aq, type InputMaybe as ar, type Exact as as, type MakeOptional as at, type MakeMaybe as au, type MakeEmpty as av, type Incremental as aw, type Scalars as ax, type AbuseReportCategoryResourceTypes as ay, type AbuseReportCategoryVisibility as az, type WithError$1 as b, type CreateAssessmentQuestionInput as b$, type AppValidScopes as b0, type AppViewTypes as b1, type ApplicationCriteriaIdentifier as b2, type AttachableRecords as b3, type AttachmentInput as b4, type AuditLogsSortableColumns as b5, type AuthenticationMethods as b6, type AuthorizationResourceTypes as b7, type AuthorizedUserRoles as b8, type AutomatedMessagesTriggerCategories as b9, type CompanyTypes as bA, type CompetitionMetricTypes as bB, type CompetitionPrizeTypes as bC, type ConnectedAccountStatuses as bD, type ConnectedAccountTypes as bE, type ContentRewardsCampaignOrder as bF, type ContentRewardsCampaignStatus as bG, type ContentRewardsCampaignsFilters as bH, type ContentRewardsCategory as bI, type ContentRewardsContentType as bJ, type ContentRewardsPlatform as bK, type ContentRewardsPublicCampaignOrder as bL, type ContentRewardsPublicCampaignsFilters as bM, type ContentRewardsSubmissionAnalysisResults as bN, type ContentRewardsSubmissionFlagReasons as bO, type ContentRewardsSubmissionStatus as bP, type ContentRewardsSubmissionViewsChartConfigInput as bQ, type ContentRewardsSubmissionsFilters as bR, type ContentRewardsSubmissionsOrder as bS, type ContentRewardsSubmissionsSortableColumns as bT, type ContentRewardsViewsChartConfigInput as bU, type CoursesAssessmentQuestionTypes as bV, type CreateAccessPassInput as bW, type CreateAffiliateInput as bX, type CreateAgentUserInput as bY, type CreateAppBuildInput as bZ, type CreateAppInput as b_, type AvatarImageStyles as ba, type BalanceReservationReservationTypes as bb, type BanReasons as bc, type BanUserInput as bd, type BillingReasons as be, type BnplProvider as bf, type BountyFilters as bg, type BusinessActivityEventTypes as bh, type BusinessAffiliateImageStyles as bi, type BusinessTypes as bj, type BuyerFeeMode as bk, type CancelOptions as bl, type CaseStates as bm, type ChangeCardMyMembershipInput as bn, type ChargeCardFunding as bo, type ChargeOutcomeRiskLevels as bp, type ChargeUserInput as bq, type ChargeUserResponseStatus as br, type ChartIntervals as bs, type ChatFeedInput as bt, type CheckoutSessionTypes as bu, type CoinbaseCommerceStatuses as bv, type CompaniesOrder as bw, type CompanyAttachmentCategories as bx, type CompanyImageStyles as by, type CompanyOnboardingPlanOptions as bz, type AnalyzeAttachmentInput$1 as c, type ExperienceLinkModes as c$, type CreateChapterInput as c0, type CreateChatInput as c1, type CreateCheckoutSessionInput as c2, type CreateCompanyMutedUserInput as c3, type CreateCourseInput as c4, type CreateForumInput as c5, type CreateForumPostInput as c6, type CreateInvoiceInput as c7, type CreateLessonInput as c8, type CreatePromoCodeInput as c9, type DirectUploadInput as cA, type Direction as cB, type DiscordAccountImageStyles as cC, type DiscoverStatuses as cD, type DisputeRiskLevels as cE, type DisputeStatuses as cF, type DisputesSortableColumns as cG, type DmsChannelsSortTypes as cH, type DmsFeedInput as cI, type DmsFeedMemberInput as cJ, type DmsFeedMemberNotificationPreferences as cK, type DmsFeedMemberStatuses as cL, type DmsFeedTypes as cM, type DmsPostInput as cN, type DmsPostTypes as cO, type EarningsReportPeriods as cP, type EarningsTypes as cQ, type EntityTypes as cR, type EntriesFiltersInput as cS, type EntriesSortableColumns as cT, type EntryFilters as cU, type EntryOrder as cV, type EntryStatus as cW, type EntryTypes as cX, type ExperienceAccessLevels as cY, type ExperienceActivityCardTypes as cZ, type ExperienceFilters as c_, type CreateWebhookInput as ca, type CreatorDashboardCancelationDiscounts as cb, type CreatorDashboardChartConfigInput as cc, type CreatorDashboardChartIntervals as cd, type CreditTransactionActivityTypes as ce, type CreditTransactionFilters as cf, type CreditTransactionStatuses as cg, type CreditTransactionTransferReasons as ch, type CreditTransactionTransferStatuses as ci, type CreditTransactionTransferTypes as cj, type CreditTransactionTransfersSortableColumns as ck, type CryptoWalletNetworks as cl, type Currencies as cm, type CustomCtas as cn, type CustomFieldInput as co, type CustomFieldTypes as cp, type DeleteAccessPassInput as cq, type DeleteAssessmentQuestionImageInput as cr, type DeleteChapterInput as cs, type DeleteCompanyMutedUserInput as ct, type DeleteLessonAttachmentInput as cu, type DeleteLessonInput as cv, type DeletePromoCodeInput as cw, type DeleteWebhookInput as cx, type Device as cy, type DirectMessageStatus as cz, type UploadMediaMutation$1 as d, type MembershipActions as d$, type ExperienceTypes as d0, type FeedTypes as d1, type FileAttachmentInput as d2, type FileAttachmentModerationResultsTypes as d3, type FileAttachmentTypes as d4, type FlashSaleDurations as d5, type FlashSaleStatuses as d6, type ForumEmailNotificationPreferences as d7, type ForumLayoutTypes as d8, type ForumPostTypes as d9, type LeadsSortableColumns as dA, type LedgerAccountAuditStatuses as dB, type LedgerAccountStandings as dC, type LedgerTypes as dD, type LedgerWithdrawalFrequencies as dE, type LedgerWithdrawalStatuses as dF, type LessonTypes as dG, type LessonVisibilities as dH, type LikedDiscoverAccessPassesOrder as dI, type LinkEmbedInput as dJ, type LivestreamDestination as dK, type LivestreamFeedInput as dL, type LivestreamRecordingStatus as dM, type LivestreamWhoCanPostTypes as dN, type LivestreamWhoCanReactTypes as dO, type MadeForYouPlanFilters as dP, type ManagementItems as dQ, type MarkLessonAsCompletedInput as dR, type MarketplaceCategoryOrder as dS, type MarketplaceCategoryTypes as dT, type MarketplaceStatuses as dU, type Media as dV, type MemberMostRecentActions as dW, type MemberStatuses as dX, type MemberSubtextTypes as dY, type MembersFiltersInput as dZ, type MembersSortableColumns as d_, type ForumWhoCanCommentTypes as da, type ForumWhoCanPostTypes as db, type FriendlyReceiptStatus as dc, type GatewayTypes as dd, type GifInput as de, type GifProviders as df, type GlobalAffiliateStatuses as dg, type HubMembershipStatus as dh, type ImageAttachmentVariants as di, type ImageExtensions as dj, type ImageImageStyles as dk, type IndustryTypes as dl, type InformationRequestItemCollectionType as dm, type InformationRequestItemTextFormat as dn, type InformationRequestStatus as dp, type InstantPayoutErrorCodes as dq, type InvoiceAccessPassInput as dr, type InvoiceCollectionMethods as ds, type InvoicePlanInput as dt, type InvoiceStatuses as du, type InvoicesFiltersInput as dv, type InvoicesSortableColumns as dw, type ItemOrderingOrderTypes as dx, type Languages as dy, type LeaderboardTypes as dz, type WebsocketClientOptionsClient as e, type ProductHighlightTypes as e$, type MembershipHeaderStatus as e0, type MembershipImageStyles as e1, type MembershipPaymentProcessor as e2, type MembershipPushNotification as e3, type MembershipStatus as e4, type MembershipsFiltersInput as e5, type MembershipsSortableColumns as e6, type ModerationResults as e7, type MoveCourseInput as e8, type MutedUserInput as e9, type PayoutDeliveryTypes as eA, type PayoutDestinationPlatformStatuses as eB, type PayoutDestinationProviders as eC, type PayoutDestinationStatuses as eD, type PayoutDestinationTypes as eE, type PayoutErrorCodes as eF, type PayoutIntervals as eG, type PayoutMethods as eH, type PayoutStatuses as eI, type PayoutTokenAttributeDataTypes as eJ, type PayoutTokenAttributeInputTypes as eK, type PayoutTokenAttributeValueTypes as eL, type PayoutTokenProviders as eM, type PayoutTokenStatuses as eN, type PayoutTypes as eO, type PaypalAccountStatuses as eP, type PerkStatus as eQ, type PlanDirectLink as eR, type PlanFilters as eS, type PlanOrder as eT, type PlanTypes as eU, type PlansOrder as eV, type PlansSortableColumns as eW, type PollInput as eX, type PollOptionInput as eY, type PostTypes as eZ, type ProcessEntitiesInput as e_, type MuxAssetStatuses as ea, type NormalizedAccountTypes as eb, type NotificationPreferenceChannel as ec, type NotificationPreferencesFilters as ed, type NotificationPreferencesFiltersV3 as ee, type NotificationTopicStatus as ef, type NotificationTopicTypes as eg, type NotificationTopicVisibility as eh, type NotificationsV4Filters as ei, type NotificationsV4Pagination as ej, type OnboardingProviders as ek, type OnboardingTypes as el, type OpengraphImageVariants as em, type PaymentAccountAccountTypes as en, type PaymentAccountActionBanners as eo, type PaymentAccountProviders as ep, type PaymentAccountStatuses as eq, type PaymentMethods as er, type PaymentProcessor as es, type PaymentProviders as et, type PaymentTransactionProviders as eu, type PaymentTransactionStatuses as ev, type PaymentTransactionTypes as ew, type PaymentsApprovalStatuses as ex, type PayoutAccountProviders as ey, type PayoutAccountStatuses as ez, WhopWebsocketClientBrowser as f, type TaxTypes as f$, type ProductImageStyles as f0, type ProductTaxCodeProductTypes as f1, type ProductUserFilters as f2, type ProductUserOrder as f3, type ProfileVisibilities as f4, type PromoCodeFilters as f5, type PromoCodeNewStatus as f6, type PromoCodeOrder as f7, type PromoCodeStatus as f8, type PromoCodesSortableColumns as f9, type ResolutionPlatformResponses as fA, type ResolutionReporters as fB, type ResolutionStatuses as fC, type ResolutionsSortableColumns as fD, type RestrictionSetReasonCodes as fE, type RetryPaymentMyMembershipInput as fF, type ReviewReportStatus as fG, type ReviewStatus as fH, type ReviewsSortableColumns as fI, type RewardUnits as fJ, type RfiStatuses as fK, type SecurityLevels as fL, type SendMessageInput as fM, type SendNotificationInput as fN, type SimpleNotificationPreferenceStatus as fO, type SocialLinkWebsites as fP, type SpecificFeeOrigins as fQ, type StatsConfigInput as fR, type Status as fS, type Statuses as fT, type StripeAccountStatuses as fU, type StripeAccountTypes as fV, type StripeExternalAccountStatuses as fW, type StripePayoutMethods as fX, type StripePayoutPayoutTypes as fY, type StripePayoutStatuses as fZ, type StripePayoutTraceStatuses as f_, type PromoDurations as fa, type PromoTypes as fb, type PromoteAppBuildToProductionInput as fc, type PublicAccessPassesOrder as fd, type PublicBountiesOrder as fe, type ReactionInput as ff, type ReactionTypes as fg, type ReceiptFeeTypes as fh, type ReceiptPaymentProcessor as fi, type ReceiptStatus as fj, type ReceiptStatusV2 as fk, type ReceiptTaxBehaviors as fl, type ReceiptV2Filters as fm, type ReceiptV2Order as fn, type ReceiptsSortableColumns as fo, type RefundStatuses as fp, type ReleaseMethod as fq, type ReleaseMethodSettingsInput as fr, type ReportTypes as fs, type ResolutionActions as ft, type ResolutionCustomerResponses as fu, type ResolutionFilters as fv, type ResolutionIneligibilityReason as fw, type ResolutionIssueTypes as fx, type ResolutionMerchantResponses as fy, type ResolutionOrder as fz, type GetAccessPassQuery$1 as g, type WithdrawalSpeeds as g$, type TerminateMyMembershipInput as g0, type TestWebhookV2Input as g1, type ToggleCancelMyMembershipInput as g2, type TrackingLinkDestination as g3, type TrackingLinksSortableColumns as g4, type TrackingPixelTypes as g5, type TransferFundsInput as g6, type TransferLinkMyMembershipInput as g7, type UnassignProductionAppBuildInput as g8, type UnbanUserInput as g9, type UserTypes as gA, type ValidMembershipsOrder as gB, type VaultMethods as gC, type VaultTokenProviders as gD, type VerificationErrorCodes as gE, type VerificationProviders as gF, type VerificationStatuses as gG, type VerifiedStatuses as gH, type VersionEventTypes as gI, type VersionFilters as gJ, type VersionObjects as gK, type VersionOrder as gL, type Visibility as gM, type VisibilityFilter as gN, type VoidInvoiceInput as gO, type WebhookEvent as gP, type WeeklyAnchors as gQ, type WhoCanPostTypes as gR, type WhoCanReactTypes as gS, type WhopSidebarFilters as gT, type WhopSidebarOrderEnum as gU, type WhopSidebarWithEarningsFilters as gV, type WhopSidebarWithEarningsOrderEnum as gW, type WithdrawalFeeTypes as gX, type WithdrawalFilters as gY, type WithdrawalMethods as gZ, type WithdrawalProviders as g_, type UniversalPostFeedTypes as ga, type UpdateAccessPassInput as gb, type UpdateAffiliateInput as gc, type UpdateAgentUserInput as gd, type UpdateAppInput as ge, type UpdateAppPermissionRequirementsInput as gf, type UpdateChapterInput as gg, type UpdateChapterOrderInput as gh, type UpdateLessonInput as gi, type UpdateLessonOrderInput as gj, type UpdateMembershipInput as gk, type UpdateWebhookInput as gl, type UploadPartInput as gm, type UpsellPlanInput as gn, type UpsellTypes as go, type UserAffiliateReferralLogFilters as gp, type UserAffiliateReferralLogOrder as gq, type UserChartConfigInput as gr, type UserContentRewardsSubmissionsFilters as gs, type UserContentRewardsSubmissionsOrder as gt, type UserNotificationPreferenceChannel as gu, type UserOnboardingStepsTypes as gv, type UserReceiptFilters as gw, type UserReceiptOrder as gx, type UserReceiptPaidTypeFilter as gy, type UserSocialLinkWebsites as gz, type GetCompanyQuery$1 as h, type GetAppQuery as h$, type WithdrawalStatus as h0, type WithdrawalTypes as h1, type WithdrawalsSortableColumns as h2, type AccessPassFragmentFragment as h3, type BaseAccessPassFragment as h4, type BaseAffiliateFragment as h5, type AffiliateWithUserFragment as h6, type BaseAppBuildFragment as h7, type BaseAppFragment as h8, type BaseAppApiKeyFragment as h9, type CreateAccessPassMutationVariables as hA, type CreateAccessPassMutation as hB, type DeleteAccessPassMutationVariables as hC, type DeleteAccessPassMutation as hD, type GetAccessPassQueryVariables as hE, type GetAccessPassQuery as hF, type UpdateAccessPassMutationVariables as hG, type UpdateAccessPassMutation as hH, type CheckIfUserHasAccessToAccessPassQueryVariables as hI, type CheckIfUserHasAccessToAccessPassQuery as hJ, type CheckIfUserHasAccessToCompanyQueryVariables as hK, type CheckIfUserHasAccessToCompanyQuery as hL, type CheckIfUserHasAccessToExperienceQueryVariables as hM, type CheckIfUserHasAccessToExperienceQuery as hN, type CreateAffiliateMutationVariables as hO, type CreateAffiliateMutation as hP, type GetAffiliateQueryVariables as hQ, type GetAffiliateQuery as hR, type ListAffiliatesQueryVariables as hS, type ListAffiliatesQuery as hT, type UpdateAffiliateMutationVariables as hU, type UpdateAffiliateMutation as hV, type CreateAppBuildMutationVariables as hW, type CreateAppBuildMutation as hX, type CreateAppMutationVariables as hY, type CreateAppMutation as hZ, type GetAppQueryVariables as h_, type BaseAppAgentUserFragment as ha, type BaseAppStatsFragment as hb, type AttachmentFragment as hc, type BaseAuthorizedUserFragment as hd, type BaseInvoiceFragment as he, type BaseLedgerAccountFragment as hf, type BasePublicPlanFragment as hg, type BasePlanFragment as hh, type BaseReceiptFragment as hi, type BaseUserFragment as hj, type BasePublicProfileUserFragment as hk, type BasicCourseFragment as hl, type BasicCourseChapterFragment as hm, type BasicCourseLessonFragment as hn, type CompanyFragmentFragment as ho, type ExperienceFragmentFragment as hp, type PublicExperienceFragmentFragment as hq, type ForumPostFragmentFragment as hr, type FullCourseLessonFragment as hs, type CourseMuxAssetFragment as ht, type CourseAssessmentQuestionFragment as hu, type BaseCompanyMemberFragment as hv, type MessageFragment as hw, type BasePromoCodeFragment as hx, type BasePublicPromoCodeFragment as hy, type BaseWebhookFragment as hz, type CreateAssessmentQuestionMutation$1 as i, type MarkLessonAsCompletedMutation as i$, type ListAppsQueryVariables as i0, type ListAppsQuery as i1, type PromoteAppBuildMutationVariables as i2, type PromoteAppBuildMutation as i3, type UnassignAppBuildMutationVariables as i4, type UnassignAppBuildMutation as i5, type UpdateAppPermissionsMutationVariables as i6, type UpdateAppPermissionsMutation as i7, type UpdateAppMutationVariables as i8, type UpdateAppMutation as i9, type CreateAssessmentQuestionMutationVariables as iA, type CreateAssessmentQuestionMutation as iB, type CreateChapterMutationVariables as iC, type CreateChapterMutation as iD, type CreateCourseMutationVariables as iE, type CreateCourseMutation as iF, type CreateLessonMutationVariables as iG, type CreateLessonMutation as iH, type DeleteAssessmentQuestionImageMutationVariables as iI, type DeleteAssessmentQuestionImageMutation as iJ, type DeleteChapterMutationVariables as iK, type DeleteChapterMutation as iL, type DeleteLessonAttachmentMutationVariables as iM, type DeleteLessonAttachmentMutation as iN, type DeleteLessonMutationVariables as iO, type DeleteLessonMutation as iP, type GetCourseQueryVariables as iQ, type GetCourseQuery as iR, type GetLessonQueryVariables as iS, type GetLessonQuery as iT, type GetUserLessonInteractionsQueryVariables as iU, type GetUserLessonInteractionsQuery as iV, type ListCoursesForCompanyQueryVariables as iW, type ListCoursesForCompanyQuery as iX, type ListCoursesForExperienceQueryVariables as iY, type ListCoursesForExperienceQuery as iZ, type MarkLessonAsCompletedMutationVariables as i_, type GetAttachmentQueryVariables as ia, type GetAttachmentQuery as ib, type ProcessAttachmentMutationVariables as ic, type ProcessAttachmentMutation as id, type UploadMediaMutationVariables as ie, type UploadMediaMutation as ig, type GetCompanyLedgerAccountQueryVariables as ih, type GetCompanyLedgerAccountQuery as ii, type GetCompanyQueryVariables as ij, type GetCompanyQuery as ik, type GetMemberQueryVariables as il, type GetMemberQuery as im, type ListAccessPassesQueryVariables as io, type ListAccessPassesQuery as ip, type ListAuthorizedUsersQueryVariables as iq, type ListAuthorizedUsersQuery as ir, type ListMembersQueryVariables as is, type ListMembersQuery as it, type ListMembershipsQueryVariables as iu, type ListMembershipsQuery as iv, type ListPlansQueryVariables as iw, type ListPlansQuery as ix, type ListWaitlistEntriesQueryVariables as iy, type ListWaitlistEntriesQuery as iz, type CreateChapterInput$1 as j, type GetUserLedgerAccountQuery as j$, type MoveCourseMutationVariables as j0, type MoveCourseMutation as j1, type UpdateChapterOrderMutationVariables as j2, type UpdateChapterOrderMutation as j3, type UpdateChapterMutationVariables as j4, type UpdateChapterMutation as j5, type UpdateLessonOrderMutationVariables as j6, type UpdateLessonOrderMutation as j7, type UpdateLessonMutationVariables as j8, type UpdateLessonMutation as j9, type SendDirectMessageToUserMutationVariables as jA, type SendDirectMessageToUserMutation as jB, type SendMessageToChatMutationVariables as jC, type SendMessageToChatMutation as jD, type SendPushNotificationMutationVariables as jE, type SendPushNotificationMutation as jF, type ChargeUserMutationVariables as jG, type ChargeUserMutation as jH, type CreateCheckoutSessionMutationVariables as jI, type CreateCheckoutSessionMutation as jJ, type ListReceiptsForCompanyQueryVariables as jK, type ListReceiptsForCompanyQuery as jL, type PayUserMutationVariables as jM, type PayUserMutation as jN, type CreatePromoCodeMutationVariables as jO, type CreatePromoCodeMutation as jP, type DeletePromoCodeMutationVariables as jQ, type DeletePromoCodeMutation as jR, type GetPromoCodeQueryVariables as jS, type GetPromoCodeQuery as jT, type ListPromoCodesQueryVariables as jU, type ListPromoCodesQuery as jV, type BanUserMutationVariables as jW, type BanUserMutation as jX, type GetCurrentUserQueryVariables as jY, type GetCurrentUserQuery as jZ, type GetUserLedgerAccountQueryVariables as j_, type GetExperienceQueryVariables as ja, type GetExperienceQuery as jb, type ListAccessPassesForExperienceQueryVariables as jc, type ListAccessPassesForExperienceQuery as jd, type ListExperiencesQueryVariables as je, type ListExperiencesQuery as jf, type ListUsersForExperienceQueryVariables as jg, type ListUsersForExperienceQuery as jh, type CreateForumPostMutationVariables as ji, type CreateForumPostMutation as jj, type FindOrCreateForumMutationVariables as jk, type FindOrCreateForumMutation as jl, type ListForumPostsFromForumQueryVariables as jm, type ListForumPostsFromForumQuery as jn, type CreateInvoiceMutationVariables as jo, type CreateInvoiceMutation as jp, type GetInvoiceQueryVariables as jq, type GetInvoiceQuery as jr, type ListInvoicesQueryVariables as js, type ListInvoicesQuery as jt, type FindOrCreateChatMutationVariables as ju, type FindOrCreateChatMutation as jv, type ListDirectMessageConversationsQueryVariables as jw, type ListDirectMessageConversationsQuery as jx, type ListMessagesFromChatQueryVariables as jy, type ListMessagesFromChatQuery as jz, type CreateChapterMutation$1 as k, type GetUserQueryVariables as k0, type GetUserQuery as k1, type ListUserSocialsQueryVariables as k2, type ListUserSocialsQuery as k3, type MuteUserMutationVariables as k4, type MuteUserMutation as k5, type UnbanUserMutationVariables as k6, type UnbanUserMutation as k7, type UnmuteUserMutationVariables as k8, type UnmuteUserMutation as k9, type CreateWebhookMutationVariables as ka, type CreateWebhookMutation as kb, type DeleteWebhookMutationVariables as kc, type DeleteWebhookMutation as kd, type GetWebhookQueryVariables as ke, type GetWebhookQuery as kf, type ListWebhooksQueryVariables as kg, type ListWebhooksQuery as kh, type TestWebhookMutationVariables as ki, type TestWebhookMutation as kj, type UpdateWebhookMutationVariables as kk, type UpdateWebhookMutation as kl, type Requester as km, type WithError as kn, carryErrors as ko, getSdk as kp, type Sdk as kq, type CreateCourseInput$1 as l, type CreateCourseMutation$1 as m, type CreateLessonInput$1 as n, type CreateLessonMutation$1 as o, type DeleteAssessmentQuestionImageInput$1 as p, type DeleteAssessmentQuestionImageMutation$1 as q, type DeleteChapterInput$1 as r, type DeleteChapterMutation$1 as s, type DeleteLessonAttachmentInput$1 as t, type DeleteLessonAttachmentMutation$1 as u, type DeleteLessonInput$1 as v, type DeleteLessonMutation$1 as w, type GetCourseQuery$1 as x, type GetLessonQuery$1 as y, type GetUserLessonInteractionsQuery$1 as z };
