import { UniversalProduct, UniversalCategory, UniversalOrder } from './universal-models.interface';
export interface CommerceConnector {
    testConnection(): Promise<boolean>;
    fetchProducts(): Promise<UniversalProduct[]>;
    fetchCategories(): Promise<UniversalCategory[]>;
    checkStock(externalProductId: string, externalVariantId?: string): Promise<number>;
    createOrder(order: UniversalOrder): Promise<{
        externalOrderId: string;
        orderNumber: string;
    }>;
    updateOrderStatus(externalOrderId: string, status: string): Promise<boolean>;
    updatePaymentStatus(externalOrderId: string, status: 'PAID' | 'FAILED', gatewayReference?: string): Promise<boolean>;
    fetchOrder(externalOrderId: string): Promise<UniversalOrder>;
    updateStock(externalProductId: string, quantity: number, externalVariantId?: string): Promise<boolean>;
    registerWebhooks(deliveryUrl: string): Promise<boolean>;
    createProduct?(product: UniversalProduct): Promise<{
        externalId: string;
    }>;
    updateProduct?(externalProductId: string, product: UniversalProduct): Promise<boolean>;
    deleteProduct?(externalProductId: string, product?: any): Promise<boolean>;
}
