import { MarketItem } from '../database/entities/MarketItem';
import { MarketPurchase } from '../database/entities/MarketPurchase';
export declare const itemRepo: () => import("typeorm").Repository<MarketItem>;
export interface CreateItemOptions {
    guildId: string;
    sellerId: string;
    title: string;
    description: string;
    price: number;
    stock?: number | null;
    imageUrl?: string;
    verificationCode?: string;
    itemType?: 'other' | 'role';
    roleId?: string;
    rentalPeriods?: string;
}
export declare function generateVerificationCode(): string;
export declare function createItem(options: CreateItemOptions): Promise<MarketItem>;
export declare function getItem(itemId: number): Promise<MarketItem | null>;
export declare function listActiveItems(guildId: string): Promise<MarketItem[]>;
export declare function getSellerItems(sellerId: string): Promise<MarketItem[]>;
export declare function activateItem(itemId: number): Promise<boolean>;
export declare function rejectItem(itemId: number): Promise<boolean>;
export declare function getItemByThreadId(threadId: string): Promise<MarketItem | null>;
export declare function closeItem(itemId: number, userId: string): Promise<boolean>;
export declare function setItemForumThread(itemId: number, threadId: string): Promise<void>;
export declare function suspendUserItems(userId: string, client: any): Promise<number>;
export declare function restoreUserItems(userId: string, client: any): Promise<number>;
export interface PurchaseResult {
    success: boolean;
    error?: string;
    purchaseId?: number;
    channelId?: string;
}
export declare function purchaseItem(itemId: number, buyerId: string, amount?: number, client?: any): Promise<PurchaseResult>;
export declare function confirmPurchase(purchaseId: number, adminId?: string): Promise<boolean>;
export declare function cancelPurchase(purchaseId: number, executorId: string, client?: any): Promise<boolean>;
export declare function updateItemStock(itemId: number, newStock: number | null, client: any): Promise<boolean>;
export declare function updateItemPrice(itemId: number, newPrice: number, client: any): Promise<boolean>;
export declare function updateItemRentalPeriods(itemId: number, periods: {
    days: number;
    price: number;
}[], client: any): Promise<boolean>;
export declare function deleteItem(itemId: number, client: any): Promise<boolean>;
export declare function deleteRoleItems(roleId: string, client: any): Promise<number>;
export declare function cleanupExpiredSuspendedItems(client?: any): Promise<number>;
export declare function getPurchaseByChannelId(channelId: string): Promise<MarketPurchase | null>;
export declare function getPurchaseHistory(itemId: number): Promise<MarketPurchase[]>;
export declare function findPendingByCode(code: string): Promise<MarketItem | null>;
export declare function cancelExpiredPending(): Promise<number>;
export declare function linkForumThread(itemId: number, threadId: string): Promise<boolean>;
export declare function keepMarketThreadsAlive(client?: any): Promise<{
    checked: number;
    reactivated: number;
}>;
//# sourceMappingURL=marketService.d.ts.map