import { OutputFormat } from '../handlers/base.handler';
export type YNFlag = 'Y' | 'N';
export interface DonateConfigGetOptions {
    channelId: string;
    output?: OutputFormat;
}
export interface DonateConfigUpdateOptions {
    channelId: string;
    cashEnabled?: YNFlag;
    giftEnabled?: YNFlag;
    amounts?: number[] | string;
    output?: OutputFormat;
    force?: boolean;
}
export interface DonateListOptions {
    channelId: string;
    start: number;
    end: number;
    page?: number;
    size?: number;
    output?: OutputFormat;
}
export interface DonateLikeListOptions {
    channelId: string;
    start?: number;
    end?: number;
    page?: number;
    size?: number;
    output?: OutputFormat;
}
export interface DonateServiceConfig {
    baseUrl: string;
    timeout: number;
    debug: boolean;
}
export interface DonateConfigResponse {
    globalSettingEnabled: YNFlag;
    donateCashEnabled: YNFlag;
    donateGoodEnabled: YNFlag;
    donateTips: string;
    cashMin: number;
    cashes: number[];
    donatePointEnabled: YNFlag;
    pointUnit: string | null;
    goods: DonateGoodItem[];
}
export interface DonateGoodItem {
    goodName: string;
    goodImg: string;
    goodPrice: number;
    goodEnabled: YNFlag;
}
export interface DonateRecordResponse {
    pageNumber: number;
    pageSize: number;
    totalPages: number;
    totalItems: number;
    contents: DonateRecordItem[];
}
export interface DonateRecordItem {
    userId: string;
    nickName: string;
    timestamp: number;
    name: string;
    type: '1' | '2';
    amount: number;
    sessionId: string;
}
export interface DonateConfigApiResponse {
    code: number;
    status: string;
    data: DonateConfigResponse;
}
export interface DonateRecordApiResponse {
    code: number;
    status: string;
    data: DonateRecordResponse;
}
export interface DonateUpdateApiResponse {
    code: number;
    status: string;
    data: Record<string, unknown>;
}
export interface GetDonateConfigParams {
    channelId: string;
}
export interface UpdateDonateConfigParams {
    channelId: string;
    donateEnabled?: YNFlag;
    donateGiftEnabled?: YNFlag;
    donateAmounts?: number[];
    giftDonate?: {
        payWay?: 'CASH' | 'POINT' | string;
        pointUnit?: string;
        cashPays?: Array<{
            name?: string;
            enabled?: YNFlag;
            imgType?: 'STATIC' | 'DYNAMIC' | string;
            img?: string;
            dynamicImg?: string;
            dynamicFile?: string;
            price?: number | string;
        }>;
        pointPays?: Array<{
            name?: string;
            enabled?: YNFlag;
            imgType?: 'STATIC' | 'DYNAMIC' | string;
            img?: string;
            dynamicImg?: string;
            dynamicFile?: string;
            price?: number | string;
        }>;
    };
}
export interface ListRewardGiftParams {
    channelId: string;
    start: number;
    end: number;
    pageNumber?: number;
    pageSize?: number;
}
export interface ListRewardLikeParams {
    channelId: string;
    start?: number;
    end?: number;
    pageNumber?: number;
    pageSize?: number;
}
//# sourceMappingURL=donate.d.ts.map