/**
 * Litty API
 *        Complete API documentation for the Litty platform.        ## Authentication       Most endpoints require authentication via Supabase JWT tokens.       Include the token in the Authorization header: `Bearer <token>`        ## API Structure       - **Contests**: Create and manage contests, entries, and settlements       - **Markets**: Manage prediction markets within contests       - **Transactions**: Handle financial transactions for contest entries and rewards       - **Wallet**: Manage user wallet balances (cashable, points, tickets)       - **Users**: User management and profiles       - **Leaderboards**: Competition rankings and scoring       - **Uploads**: File upload management       - **Shows**: TV show and episode management (admin only)        ## Response Formats       All endpoints return JSON responses with consistent error handling.       Error responses include `statusCode`, `message`, and `error` fields.
 *
 * The version of the OpenAPI document: 1.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface CreditWalletRequest
 */
export interface CreditWalletRequest {
    /**
     * Amount to credit (must be positive)
     * @type {number}
     * @memberof CreditWalletRequest
     */
    amount: number;
    /**
     * Currency type to credit
     * @type {string}
     * @memberof CreditWalletRequest
     */
    currency: CreditWalletRequestCurrencyEnum;
    /**
     * Source of the credit (e.g., contest_winning, admin_adjustment)
     * @type {string}
     * @memberof CreditWalletRequest
     */
    source: string;
    /**
     * ID of the source (e.g., contest ID)
     * @type {string}
     * @memberof CreditWalletRequest
     */
    sourceId?: string;
    /**
     * Human-readable reason for the credit
     * @type {string}
     * @memberof CreditWalletRequest
     */
    reason: string;
    /**
     * Additional metadata for the credit operation
     * @type {object}
     * @memberof CreditWalletRequest
     */
    metadata?: object;
}
/**
 * @export
 */
export declare const CreditWalletRequestCurrencyEnum: {
    readonly Tickets: "tickets";
    readonly Points: "points";
    readonly Cashable: "cashable";
};
export type CreditWalletRequestCurrencyEnum = typeof CreditWalletRequestCurrencyEnum[keyof typeof CreditWalletRequestCurrencyEnum];
/**
 * Check if a given object implements the CreditWalletRequest interface.
 */
export declare function instanceOfCreditWalletRequest(value: object): value is CreditWalletRequest;
export declare function CreditWalletRequestFromJSON(json: any): CreditWalletRequest;
export declare function CreditWalletRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreditWalletRequest;
export declare function CreditWalletRequestToJSON(json: any): CreditWalletRequest;
export declare function CreditWalletRequestToJSONTyped(value?: CreditWalletRequest | null, ignoreDiscriminator?: boolean): any;
