/**
 * #request_context.ts
 *
 * Code generated by ts-proto. DO NOT EDIT.
 * @packageDocumentation
 */
export declare enum AppStatus {
    /** APP_STATUS_UNSPECIFIED - Default value. Should not be used for requests. */
    APP_STATUS_UNSPECIFIED = 0,
    /** PRERELEASE - App is in prerelease state */
    PRERELEASE = 1,
    /** PUBLISHED - App is published and available */
    PUBLISHED = 2,
    UNRECOGNIZED = -1
}
/**
 * RequestContext contains all the contextual information about a request
 * This context is signed as a JWT token and passed between services
 */
export type RequestContext = {
    /** Installation information for the app installation */
    installation?: InstallationContext | undefined;
    /** App information including ID, name, version, and status */
    app?: AppContext | undefined;
    /** Post information if the request is related to a specific post */
    post?: PostContext | undefined;
    /** Subreddit information if the request is related to a specific subreddit */
    subreddit?: SubredditContext | undefined;
    /** User information if the request is made by an authenticated user */
    user?: UserContext | undefined;
};
/** InstallationContext contains information about the app installation */
export type InstallationContext = {
    /** Installation ID in UUID format (e.g., "8b8ae08b-3645-49c7-b425-bd989e09bea3") */
    id: string;
};
/** AppContext contains information about the Devvit app */
export type AppContext = {
    /**
     * App ID in UUID format (e.g., "550e8400-e29b-41d4-a716-446655440000")
     *
     * @deprecated
     */
    id: string;
    /**
     * Name of the app (e.g., "My Funky App" (not a slug)
     *
     * @deprecated
     */
    name: string;
    /** Semantic version number with 4 parts (e.g., "1.2.3.4") */
    version: string;
    /** Current publishing status of the app */
    status: AppStatus;
    /** App unique identifier, also known as the slug (e.g., "my-funky-app") */
    slug: string;
    /** App account information */
    account?: AppAccount | undefined;
};
export type AppAccount = {
    /** Account ID (e.g., "t2_15bfi0") */
    id: string;
};
/** PostContext contains information about a Reddit post */
export type PostContext = {
    /** Post ID (e.g., "t3_15bfi0") */
    id: string;
    /** Author's account ID (e.g., "t2_1a2b3c4d") */
    author: string;
};
/** SubredditContext contains information about a Reddit subreddit */
export type SubredditContext = {
    /** Subreddit name without the r/ (e.g., "testsubreddit123456") */
    name: string;
    /** Subreddit ID (e.g., "t5_1a2b3c") */
    id: string;
};
/** UserContext contains information about a Reddit user */
export type UserContext = {
    /** Reddit username, maximum 20 characters (e.g., "spez") */
    name: string;
    /** User's account ID (e.g., "t2_15bfi0") */
    id: string;
    /**
     * Snoovatar image URL with Reddit's preview domain and query parameters
     * (e.g., "https://preview.redd.it/snoovatar/avatars/5e7b8e37-8189-4b33-b001-250bb8bdb730-headshot.png")
     */
    snoovatar: string;
    /** The analytics session ID for the current user session */
    sessionId: string;
};
//# sourceMappingURL=request_context.d.ts.map