/**
 * 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 DebitWalletRequest
 */
export interface DebitWalletRequest {
    /**
     * Amount to debit (must be positive)
     * @type {number}
     * @memberof DebitWalletRequest
     */
    amount: number;
    /**
     * Currency type to debit
     * @type {string}
     * @memberof DebitWalletRequest
     */
    currency: DebitWalletRequestCurrencyEnum;
    /**
     * Source of the debit (e.g., contest_entry, withdrawal)
     * @type {string}
     * @memberof DebitWalletRequest
     */
    source: string;
    /**
     * ID of the source (e.g., contest ID)
     * @type {string}
     * @memberof DebitWalletRequest
     */
    sourceId?: string;
    /**
     * Human-readable reason for the debit
     * @type {string}
     * @memberof DebitWalletRequest
     */
    reason: string;
    /**
     * Additional metadata for the debit operation
     * @type {object}
     * @memberof DebitWalletRequest
     */
    metadata?: object;
}
/**
 * @export
 */
export declare const DebitWalletRequestCurrencyEnum: {
    readonly Tickets: "tickets";
    readonly Points: "points";
    readonly Cashable: "cashable";
};
export type DebitWalletRequestCurrencyEnum = typeof DebitWalletRequestCurrencyEnum[keyof typeof DebitWalletRequestCurrencyEnum];
/**
 * Check if a given object implements the DebitWalletRequest interface.
 */
export declare function instanceOfDebitWalletRequest(value: object): value is DebitWalletRequest;
export declare function DebitWalletRequestFromJSON(json: any): DebitWalletRequest;
export declare function DebitWalletRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): DebitWalletRequest;
export declare function DebitWalletRequestToJSON(json: any): DebitWalletRequest;
export declare function DebitWalletRequestToJSONTyped(value?: DebitWalletRequest | null, ignoreDiscriminator?: boolean): any;
