import { Warehouse, CreateWarehouseRequest, StockTransfer, CreateStockTransferRequest, StockCheck, CreateStockCheckRequest, WarehouseListParams, StockTransferListParams, StockCheckListParams } from '../types/warehouse';
import { BaseResource } from './base';
export declare class WarehouseResource extends BaseResource {
    /**
     * Get list of warehouses
     */
    list(params?: WarehouseListParams): Promise<{
        data: Warehouse[];
    }>;
    /**
     * Get warehouse by ID
     */
    getById(warehouseId: string): Promise<Warehouse>;
    /**
     * Create new warehouse
     */
    create(data: CreateWarehouseRequest): Promise<Warehouse>;
    /**
     * Update warehouse
     */
    update(warehouseId: string, data: Partial<Warehouse>): Promise<Warehouse>;
    /**
     * Create stock transfer
     */
    createTransfer(data: CreateStockTransferRequest): Promise<StockTransfer>;
    /**
     * Get stock transfer by ID
     */
    getTransferById(transferId: string): Promise<StockTransfer>;
    /**
     * List stock transfers
     */
    listTransfers(params?: StockTransferListParams): Promise<{
        data: StockTransfer[];
    }>;
    /**
     * Complete stock transfer
     */
    completeTransfer(transferId: string, receivedItems: {
        product_id: string;
        variation_id?: string;
        received_quantity: number;
    }[]): Promise<StockTransfer>;
    /**
     * Cancel stock transfer
     */
    cancelTransfer(transferId: string, reason?: string): Promise<StockTransfer>;
    /**
     * Create stock check
     */
    createStockCheck(data: CreateStockCheckRequest): Promise<StockCheck>;
    /**
     * Get stock check by ID
     */
    getStockCheckById(checkId: string): Promise<StockCheck>;
    /**
     * List stock checks
     */
    listStockChecks(params?: StockCheckListParams): Promise<{
        data: StockCheck[];
    }>;
    /**
     * Complete stock check
     */
    completeStockCheck(checkId: string): Promise<StockCheck>;
    /**
     * Get warehouse inventory report
     */
    getInventoryReport(warehouseId: string, params?: {
        category_ids?: number[];
        page_size?: number;
        page_number?: number;
    }): Promise<{
        data: {
            product_id: string;
            variation_id?: string;
            stock: number;
            reserved_stock: number;
            available_stock: number;
        }[];
    }>;
}
