export interface DonationAlertData {
	alertID: number;
	donationID: number;
	correlationID: string;
	sponsorMemberID: number;
	sendName: string;
	amount: number;
	netAmount: number;
	message: string|null;
	channelID: number;
	channelName: string;
	crewMemberID: number|null;
	crewMemberNickname: string|null;
	isTest: boolean;
	createdAt: string;
}

export interface DonationAlertConfig {
	id: number;
	title: string;
	amount: number;
	matchType: number;
	message: string;
	playDelaySec: number;
	displayDurationSec: number;
	popupEffect: string|null;
	textEffect: string|null;
	nicknameFontFamily: string|null;
	nicknameFontSize: number;
	nicknameFontColor: string;
	amountFontFamily: string|null;
	amountFontSize: number;
	amountFontColor: string;
	messageFontFamily: string|null;
	messageFontSize: number;
	messageFontColor: string;
	templateFontFamily: string|null;
	templateFontSize: number;
	templateFontColor: string;
	enableImage: boolean;
	imageUrl: string|null;
	enableSound: boolean;
	soundUrl: string|null;
	isActive: boolean;
}

export interface DonationRemoteState {
	isPaused: boolean;
	isAccepting: boolean;
	isAudioOnly: boolean;
	isVideoOnly: boolean;
}

export interface CrewRankItem {
	rank: number;
	crewMemberID: number;
	nickname: string;
	icon: string|null;
	channelName: string|null;
	totalAmount: number;
	donationCount: number;
	contributionRate: number;
}

export interface GoalProgress {
	goalConfigID: number;
	title: string;
	startAmount: number;
	targetAmount: number;
	currentAmount: number;
	percent: number;
}