import { z } from 'zod';
export declare const inventoryCategorySchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    name: string;
    description?: string | null | undefined;
}, {
    name: string;
    description?: string | null | undefined;
}>;
export type InventoryCategoryInput = z.infer<typeof inventoryCategorySchema>;
export declare const unitOfMeasureSchema: z.ZodObject<{
    code: z.ZodString;
    name: z.ZodString;
    allowFractional: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    code: string;
    name: string;
    allowFractional: boolean;
}, {
    code: string;
    name: string;
    allowFractional?: boolean | undefined;
}>;
export type UnitOfMeasureInput = z.infer<typeof unitOfMeasureSchema>;
export declare const stockLocationSchema: z.ZodObject<{
    code: z.ZodString;
    name: z.ZodString;
    isDefault: z.ZodOptional<z.ZodBoolean>;
    isActive: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    code: string;
    name: string;
    isActive?: boolean | undefined;
    isDefault?: boolean | undefined;
}, {
    code: string;
    name: string;
    isActive?: boolean | undefined;
    isDefault?: boolean | undefined;
}>;
export type StockLocationInput = z.infer<typeof stockLocationSchema>;
export declare const itemMasterCreateSchema: z.ZodObject<{
    code: z.ZodOptional<z.ZodString>;
    name: z.ZodString;
    categoryId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    subcategory: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    unitId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    sku: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    barcode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    imageMediaId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    costPrice: z.ZodOptional<z.ZodString>;
    sellPrice: z.ZodOptional<z.ZodString>;
    minStockLevel: z.ZodOptional<z.ZodString>;
    reorderLevel: z.ZodOptional<z.ZodString>;
    reorderQty: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    preferredSupplierId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    defaultLocationId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    allowFractional: z.ZodOptional<z.ZodBoolean>;
    isActive: z.ZodOptional<z.ZodBoolean>;
    notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    /** Legacy convenience (Phase 4.1 compat): posts opening stock at the default location. */
    openingQty: z.ZodOptional<z.ZodString>;
    /** Legacy UoM label kept for Phase 4.1 compat; prefer unitId. */
    uom: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    name: string;
    code?: string | undefined;
    isActive?: boolean | undefined;
    description?: string | null | undefined;
    allowFractional?: boolean | undefined;
    categoryId?: string | null | undefined;
    subcategory?: string | null | undefined;
    unitId?: string | null | undefined;
    sku?: string | null | undefined;
    barcode?: string | null | undefined;
    imageMediaId?: string | null | undefined;
    costPrice?: string | undefined;
    sellPrice?: string | undefined;
    minStockLevel?: string | undefined;
    reorderLevel?: string | undefined;
    reorderQty?: string | null | undefined;
    preferredSupplierId?: string | null | undefined;
    defaultLocationId?: string | null | undefined;
    notes?: string | null | undefined;
    openingQty?: string | undefined;
    uom?: string | undefined;
}, {
    name: string;
    code?: string | undefined;
    isActive?: boolean | undefined;
    description?: string | null | undefined;
    allowFractional?: boolean | undefined;
    categoryId?: string | null | undefined;
    subcategory?: string | null | undefined;
    unitId?: string | null | undefined;
    sku?: string | null | undefined;
    barcode?: string | null | undefined;
    imageMediaId?: string | null | undefined;
    costPrice?: string | undefined;
    sellPrice?: string | undefined;
    minStockLevel?: string | undefined;
    reorderLevel?: string | undefined;
    reorderQty?: string | null | undefined;
    preferredSupplierId?: string | null | undefined;
    defaultLocationId?: string | null | undefined;
    notes?: string | null | undefined;
    openingQty?: string | undefined;
    uom?: string | undefined;
}>;
export type ItemMasterCreateInput = z.infer<typeof itemMasterCreateSchema>;
export declare const itemMasterUpdateSchema: z.ZodObject<{
    code: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    name: z.ZodOptional<z.ZodString>;
    categoryId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    subcategory: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    unitId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    sku: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    barcode: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    imageMediaId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    costPrice: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    sellPrice: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    minStockLevel: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    reorderLevel: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    reorderQty: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    preferredSupplierId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    defaultLocationId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    allowFractional: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
    isActive: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
    notes: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    openingQty: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    uom: z.ZodOptional<z.ZodOptional<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    code?: string | undefined;
    isActive?: boolean | undefined;
    name?: string | undefined;
    description?: string | null | undefined;
    allowFractional?: boolean | undefined;
    categoryId?: string | null | undefined;
    subcategory?: string | null | undefined;
    unitId?: string | null | undefined;
    sku?: string | null | undefined;
    barcode?: string | null | undefined;
    imageMediaId?: string | null | undefined;
    costPrice?: string | undefined;
    sellPrice?: string | undefined;
    minStockLevel?: string | undefined;
    reorderLevel?: string | undefined;
    reorderQty?: string | null | undefined;
    preferredSupplierId?: string | null | undefined;
    defaultLocationId?: string | null | undefined;
    notes?: string | null | undefined;
    openingQty?: string | undefined;
    uom?: string | undefined;
}, {
    code?: string | undefined;
    isActive?: boolean | undefined;
    name?: string | undefined;
    description?: string | null | undefined;
    allowFractional?: boolean | undefined;
    categoryId?: string | null | undefined;
    subcategory?: string | null | undefined;
    unitId?: string | null | undefined;
    sku?: string | null | undefined;
    barcode?: string | null | undefined;
    imageMediaId?: string | null | undefined;
    costPrice?: string | undefined;
    sellPrice?: string | undefined;
    minStockLevel?: string | undefined;
    reorderLevel?: string | undefined;
    reorderQty?: string | null | undefined;
    preferredSupplierId?: string | null | undefined;
    defaultLocationId?: string | null | undefined;
    notes?: string | null | undefined;
    openingQty?: string | undefined;
    uom?: string | undefined;
}>;
export type ItemMasterUpdateInput = z.infer<typeof itemMasterUpdateSchema>;
export declare const supplierSchema: z.ZodObject<{
    name: z.ZodString;
    contactPerson: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    mobile: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    altMobile: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    whatsapp: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    email: z.ZodUnion<[z.ZodNullable<z.ZodOptional<z.ZodString>>, z.ZodEffects<z.ZodLiteral<"">, null, "">]>;
    address: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    city: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    taxNumber: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    paymentTermsDays: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
    isPreferred: z.ZodOptional<z.ZodBoolean>;
    isActive: z.ZodOptional<z.ZodBoolean>;
    notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    name: string;
    isActive?: boolean | undefined;
    notes?: string | null | undefined;
    contactPerson?: string | null | undefined;
    mobile?: string | null | undefined;
    altMobile?: string | null | undefined;
    whatsapp?: string | null | undefined;
    email?: string | null | undefined;
    address?: string | null | undefined;
    city?: string | null | undefined;
    taxNumber?: string | null | undefined;
    paymentTermsDays?: number | null | undefined;
    isPreferred?: boolean | undefined;
}, {
    name: string;
    isActive?: boolean | undefined;
    notes?: string | null | undefined;
    contactPerson?: string | null | undefined;
    mobile?: string | null | undefined;
    altMobile?: string | null | undefined;
    whatsapp?: string | null | undefined;
    email?: string | null | undefined;
    address?: string | null | undefined;
    city?: string | null | undefined;
    taxNumber?: string | null | undefined;
    paymentTermsDays?: number | null | undefined;
    isPreferred?: boolean | undefined;
}>;
export type SupplierInput = z.infer<typeof supplierSchema>;
export declare const supplierUpdateSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    contactPerson: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    mobile: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    altMobile: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    whatsapp: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    email: z.ZodOptional<z.ZodUnion<[z.ZodNullable<z.ZodOptional<z.ZodString>>, z.ZodEffects<z.ZodLiteral<"">, null, "">]>>;
    address: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    city: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    taxNumber: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
    paymentTermsDays: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
    isPreferred: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
    isActive: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
    notes: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
}, "strip", z.ZodTypeAny, {
    isActive?: boolean | undefined;
    name?: string | undefined;
    notes?: string | null | undefined;
    contactPerson?: string | null | undefined;
    mobile?: string | null | undefined;
    altMobile?: string | null | undefined;
    whatsapp?: string | null | undefined;
    email?: string | null | undefined;
    address?: string | null | undefined;
    city?: string | null | undefined;
    taxNumber?: string | null | undefined;
    paymentTermsDays?: number | null | undefined;
    isPreferred?: boolean | undefined;
}, {
    isActive?: boolean | undefined;
    name?: string | undefined;
    notes?: string | null | undefined;
    contactPerson?: string | null | undefined;
    mobile?: string | null | undefined;
    altMobile?: string | null | undefined;
    whatsapp?: string | null | undefined;
    email?: string | null | undefined;
    address?: string | null | undefined;
    city?: string | null | undefined;
    taxNumber?: string | null | undefined;
    paymentTermsDays?: number | null | undefined;
    isPreferred?: boolean | undefined;
}>;
/** Admin-defined attribute (e.g. Colour, Size) reusable across items. */
export declare const inventoryAttributeDefinitionSchema: z.ZodObject<{
    code: z.ZodString;
    name: z.ZodString;
    sortOrder: z.ZodOptional<z.ZodNumber>;
    isActive: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    code: string;
    name: string;
    isActive?: boolean | undefined;
    sortOrder?: number | undefined;
}, {
    code: string;
    name: string;
    isActive?: boolean | undefined;
    sortOrder?: number | undefined;
}>;
export type InventoryAttributeDefinitionInput = z.infer<typeof inventoryAttributeDefinitionSchema>;
export declare const inventoryAttributeDefinitionUpdateSchema: z.ZodObject<{
    code: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    sortOrder: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
    isActive: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    code?: string | undefined;
    isActive?: boolean | undefined;
    sortOrder?: number | undefined;
    name?: string | undefined;
}, {
    code?: string | undefined;
    isActive?: boolean | undefined;
    sortOrder?: number | undefined;
    name?: string | undefined;
}>;
export type InventoryAttributeDefinitionUpdateInput = z.infer<typeof inventoryAttributeDefinitionUpdateSchema>;
/** Allowed value option for an attribute definition. */
export declare const inventoryAttributeOptionSchema: z.ZodObject<{
    code: z.ZodString;
    value: z.ZodString;
    sortOrder: z.ZodOptional<z.ZodNumber>;
    isActive: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    value: string;
    code: string;
    isActive?: boolean | undefined;
    sortOrder?: number | undefined;
}, {
    value: string;
    code: string;
    isActive?: boolean | undefined;
    sortOrder?: number | undefined;
}>;
export type InventoryAttributeOptionInput = z.infer<typeof inventoryAttributeOptionSchema>;
export declare const inventoryAttributeOptionUpdateSchema: z.ZodObject<{
    code: z.ZodOptional<z.ZodString>;
    value: z.ZodOptional<z.ZodString>;
    sortOrder: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
    isActive: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    value?: string | undefined;
    code?: string | undefined;
    isActive?: boolean | undefined;
    sortOrder?: number | undefined;
}, {
    value?: string | undefined;
    code?: string | undefined;
    isActive?: boolean | undefined;
    sortOrder?: number | undefined;
}>;
export type InventoryAttributeOptionUpdateInput = z.infer<typeof inventoryAttributeOptionUpdateSchema>;
/**
 * A single attribute value assigned to a variant. Exactly one of
 * (attributeOptionId | valueText | valueDecimal) should carry the value.
 * `valueDecimal` preserves the exact decimal string (max 4 decimals).
 */
export declare const variantAttributeValueSchema: z.ZodEffects<z.ZodObject<{
    attributeDefinitionId: z.ZodString;
    attributeOptionId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    valueText: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    valueDecimal: z.ZodNullable<z.ZodOptional<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    attributeDefinitionId: string;
    attributeOptionId?: string | null | undefined;
    valueText?: string | null | undefined;
    valueDecimal?: string | null | undefined;
}, {
    attributeDefinitionId: string;
    attributeOptionId?: string | null | undefined;
    valueText?: string | null | undefined;
    valueDecimal?: string | null | undefined;
}>, {
    attributeDefinitionId: string;
    attributeOptionId?: string | null | undefined;
    valueText?: string | null | undefined;
    valueDecimal?: string | null | undefined;
}, {
    attributeDefinitionId: string;
    attributeOptionId?: string | null | undefined;
    valueText?: string | null | undefined;
    valueDecimal?: string | null | undefined;
}>;
export type VariantAttributeValueInput = z.infer<typeof variantAttributeValueSchema>;
export declare const inventoryVariantCreateSchema: z.ZodObject<{
    itemId: z.ZodString;
    variantCode: z.ZodOptional<z.ZodString>;
    sku: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    barcode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    name: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    costPrice: z.ZodOptional<z.ZodString>;
    sellPrice: z.ZodOptional<z.ZodString>;
    isActive: z.ZodOptional<z.ZodBoolean>;
    attributes: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
        attributeDefinitionId: z.ZodString;
        attributeOptionId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        valueText: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        valueDecimal: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
        attributeDefinitionId: string;
        attributeOptionId?: string | null | undefined;
        valueText?: string | null | undefined;
        valueDecimal?: string | null | undefined;
    }, {
        attributeDefinitionId: string;
        attributeOptionId?: string | null | undefined;
        valueText?: string | null | undefined;
        valueDecimal?: string | null | undefined;
    }>, {
        attributeDefinitionId: string;
        attributeOptionId?: string | null | undefined;
        valueText?: string | null | undefined;
        valueDecimal?: string | null | undefined;
    }, {
        attributeDefinitionId: string;
        attributeOptionId?: string | null | undefined;
        valueText?: string | null | undefined;
        valueDecimal?: string | null | undefined;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    itemId: string;
    attributes: {
        attributeDefinitionId: string;
        attributeOptionId?: string | null | undefined;
        valueText?: string | null | undefined;
        valueDecimal?: string | null | undefined;
    }[];
    isActive?: boolean | undefined;
    name?: string | null | undefined;
    sku?: string | null | undefined;
    barcode?: string | null | undefined;
    costPrice?: string | undefined;
    sellPrice?: string | undefined;
    variantCode?: string | undefined;
}, {
    itemId: string;
    isActive?: boolean | undefined;
    name?: string | null | undefined;
    sku?: string | null | undefined;
    barcode?: string | null | undefined;
    costPrice?: string | undefined;
    sellPrice?: string | undefined;
    variantCode?: string | undefined;
    attributes?: {
        attributeDefinitionId: string;
        attributeOptionId?: string | null | undefined;
        valueText?: string | null | undefined;
        valueDecimal?: string | null | undefined;
    }[] | undefined;
}>;
export type InventoryVariantCreateInput = z.infer<typeof inventoryVariantCreateSchema>;
export declare const inventoryVariantUpdateSchema: z.ZodObject<{
    variantCode: z.ZodOptional<z.ZodString>;
    sku: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    barcode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    name: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    costPrice: z.ZodOptional<z.ZodString>;
    sellPrice: z.ZodOptional<z.ZodString>;
    isActive: z.ZodOptional<z.ZodBoolean>;
    attributes: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
        attributeDefinitionId: z.ZodString;
        attributeOptionId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        valueText: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        valueDecimal: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
        attributeDefinitionId: string;
        attributeOptionId?: string | null | undefined;
        valueText?: string | null | undefined;
        valueDecimal?: string | null | undefined;
    }, {
        attributeDefinitionId: string;
        attributeOptionId?: string | null | undefined;
        valueText?: string | null | undefined;
        valueDecimal?: string | null | undefined;
    }>, {
        attributeDefinitionId: string;
        attributeOptionId?: string | null | undefined;
        valueText?: string | null | undefined;
        valueDecimal?: string | null | undefined;
    }, {
        attributeDefinitionId: string;
        attributeOptionId?: string | null | undefined;
        valueText?: string | null | undefined;
        valueDecimal?: string | null | undefined;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    isActive?: boolean | undefined;
    name?: string | null | undefined;
    sku?: string | null | undefined;
    barcode?: string | null | undefined;
    costPrice?: string | undefined;
    sellPrice?: string | undefined;
    variantCode?: string | undefined;
    attributes?: {
        attributeDefinitionId: string;
        attributeOptionId?: string | null | undefined;
        valueText?: string | null | undefined;
        valueDecimal?: string | null | undefined;
    }[] | undefined;
}, {
    isActive?: boolean | undefined;
    name?: string | null | undefined;
    sku?: string | null | undefined;
    barcode?: string | null | undefined;
    costPrice?: string | undefined;
    sellPrice?: string | undefined;
    variantCode?: string | undefined;
    attributes?: {
        attributeDefinitionId: string;
        attributeOptionId?: string | null | undefined;
        valueText?: string | null | undefined;
        valueDecimal?: string | null | undefined;
    }[] | undefined;
}>;
export type InventoryVariantUpdateInput = z.infer<typeof inventoryVariantUpdateSchema>;
export declare const openingStockSchema: z.ZodObject<{
    itemId: z.ZodString;
    inventoryVariantId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    locationId: z.ZodString;
    qty: z.ZodEffects<z.ZodString, string, string>;
    unitCost: z.ZodString;
    effectiveDate: z.ZodString;
    reference: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    reason: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    clientRequestId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    itemId: string;
    locationId: string;
    qty: string;
    unitCost: string;
    effectiveDate: string;
    clientRequestId: string;
    inventoryVariantId?: string | null | undefined;
    reference?: string | null | undefined;
    reason?: string | null | undefined;
}, {
    itemId: string;
    locationId: string;
    qty: string;
    unitCost: string;
    effectiveDate: string;
    clientRequestId: string;
    inventoryVariantId?: string | null | undefined;
    reference?: string | null | undefined;
    reason?: string | null | undefined;
}>;
export type OpeningStockInput = z.infer<typeof openingStockSchema>;
export declare const inventoryAdjustmentSchema: z.ZodObject<{
    kind: z.ZodEnum<["ADJUST_IN", "ADJUST_OUT", "WASTAGE", "DAMAGE"]>;
    itemId: z.ZodString;
    inventoryVariantId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    locationId: z.ZodString;
    qty: z.ZodEffects<z.ZodString, string, string>;
    unitCost: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    adjustmentDate: z.ZodString;
    reason: z.ZodString;
    notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    evidenceMediaId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    clientRequestId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    itemId: string;
    locationId: string;
    qty: string;
    reason: string;
    clientRequestId: string;
    kind: "ADJUST_IN" | "ADJUST_OUT" | "WASTAGE" | "DAMAGE";
    adjustmentDate: string;
    notes?: string | null | undefined;
    inventoryVariantId?: string | null | undefined;
    unitCost?: string | null | undefined;
    evidenceMediaId?: string | null | undefined;
}, {
    itemId: string;
    locationId: string;
    qty: string;
    reason: string;
    clientRequestId: string;
    kind: "ADJUST_IN" | "ADJUST_OUT" | "WASTAGE" | "DAMAGE";
    adjustmentDate: string;
    notes?: string | null | undefined;
    inventoryVariantId?: string | null | undefined;
    unitCost?: string | null | undefined;
    evidenceMediaId?: string | null | undefined;
}>;
export type InventoryAdjustmentInput = z.infer<typeof inventoryAdjustmentSchema>;
export declare const stockTransferSchema: z.ZodEffects<z.ZodObject<{
    fromLocationId: z.ZodString;
    toLocationId: z.ZodString;
    transferDate: z.ZodString;
    notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    lines: z.ZodArray<z.ZodObject<{
        itemId: z.ZodString;
        inventoryVariantId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        qty: z.ZodEffects<z.ZodString, string, string>;
    }, "strip", z.ZodTypeAny, {
        itemId: string;
        qty: string;
        inventoryVariantId?: string | null | undefined;
    }, {
        itemId: string;
        qty: string;
        inventoryVariantId?: string | null | undefined;
    }>, "many">;
    clientRequestId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    clientRequestId: string;
    fromLocationId: string;
    toLocationId: string;
    transferDate: string;
    lines: {
        itemId: string;
        qty: string;
        inventoryVariantId?: string | null | undefined;
    }[];
    notes?: string | null | undefined;
}, {
    clientRequestId: string;
    fromLocationId: string;
    toLocationId: string;
    transferDate: string;
    lines: {
        itemId: string;
        qty: string;
        inventoryVariantId?: string | null | undefined;
    }[];
    notes?: string | null | undefined;
}>, {
    clientRequestId: string;
    fromLocationId: string;
    toLocationId: string;
    transferDate: string;
    lines: {
        itemId: string;
        qty: string;
        inventoryVariantId?: string | null | undefined;
    }[];
    notes?: string | null | undefined;
}, {
    clientRequestId: string;
    fromLocationId: string;
    toLocationId: string;
    transferDate: string;
    lines: {
        itemId: string;
        qty: string;
        inventoryVariantId?: string | null | undefined;
    }[];
    notes?: string | null | undefined;
}>;
export type StockTransferInput = z.infer<typeof stockTransferSchema>;
export declare const stocktakeCreateSchema: z.ZodObject<{
    locationId: z.ZodString;
    countDate: z.ZodString;
    countedBy: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    itemIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    clientRequestId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    locationId: string;
    clientRequestId: string;
    countDate: string;
    notes?: string | null | undefined;
    countedBy?: string | null | undefined;
    itemIds?: string[] | undefined;
}, {
    locationId: string;
    clientRequestId: string;
    countDate: string;
    notes?: string | null | undefined;
    countedBy?: string | null | undefined;
    itemIds?: string[] | undefined;
}>;
export type StocktakeCreateInput = z.infer<typeof stocktakeCreateSchema>;
export declare const stocktakeCountSchema: z.ZodObject<{
    counts: z.ZodArray<z.ZodObject<{
        itemId: z.ZodString;
        inventoryVariantId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        countedQty: z.ZodString;
        notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
        itemId: string;
        countedQty: string;
        notes?: string | null | undefined;
        inventoryVariantId?: string | null | undefined;
    }, {
        itemId: string;
        countedQty: string;
        notes?: string | null | undefined;
        inventoryVariantId?: string | null | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    counts: {
        itemId: string;
        countedQty: string;
        notes?: string | null | undefined;
        inventoryVariantId?: string | null | undefined;
    }[];
}, {
    counts: {
        itemId: string;
        countedQty: string;
        notes?: string | null | undefined;
        inventoryVariantId?: string | null | undefined;
    }[];
}>;
export type StocktakeCountInput = z.infer<typeof stocktakeCountSchema>;
export declare const stocktakeApproveSchema: z.ZodObject<{
    notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    notes?: string | null | undefined;
}, {
    notes?: string | null | undefined;
}>;
export declare const stocktakeApplySchema: z.ZodObject<{
    clientRequestId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    clientRequestId: string;
}, {
    clientRequestId: string;
}>;
export declare const purchaseOrderLineSchema: z.ZodObject<{
    itemId: z.ZodString;
    /**
     * Modernization: exact inventory variant to purchase. Optional for base-only
     * items (server resolves the item's base variant); when provided it is
     * validated for org/item ownership + active state. A different variant is
     * never substituted.
     */
    variantId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    orderedQty: z.ZodEffects<z.ZodString, string, string>;
    unitCost: z.ZodString;
    discountAmount: z.ZodOptional<z.ZodString>;
    locationId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    itemId: string;
    unitCost: string;
    orderedQty: string;
    notes?: string | null | undefined;
    locationId?: string | null | undefined;
    variantId?: string | null | undefined;
    discountAmount?: string | undefined;
}, {
    itemId: string;
    unitCost: string;
    orderedQty: string;
    notes?: string | null | undefined;
    locationId?: string | null | undefined;
    variantId?: string | null | undefined;
    discountAmount?: string | undefined;
}>;
export declare const purchaseOrderCreateSchema: z.ZodObject<{
    supplierId: z.ZodString;
    orderDate: z.ZodString;
    expectedDate: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    lines: z.ZodArray<z.ZodObject<{
        itemId: z.ZodString;
        /**
         * Modernization: exact inventory variant to purchase. Optional for base-only
         * items (server resolves the item's base variant); when provided it is
         * validated for org/item ownership + active state. A different variant is
         * never substituted.
         */
        variantId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        orderedQty: z.ZodEffects<z.ZodString, string, string>;
        unitCost: z.ZodString;
        discountAmount: z.ZodOptional<z.ZodString>;
        locationId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
        itemId: string;
        unitCost: string;
        orderedQty: string;
        notes?: string | null | undefined;
        locationId?: string | null | undefined;
        variantId?: string | null | undefined;
        discountAmount?: string | undefined;
    }, {
        itemId: string;
        unitCost: string;
        orderedQty: string;
        notes?: string | null | undefined;
        locationId?: string | null | undefined;
        variantId?: string | null | undefined;
        discountAmount?: string | undefined;
    }>, "many">;
    submitForApproval: z.ZodOptional<z.ZodBoolean>;
    clientRequestId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    clientRequestId: string;
    lines: {
        itemId: string;
        unitCost: string;
        orderedQty: string;
        notes?: string | null | undefined;
        locationId?: string | null | undefined;
        variantId?: string | null | undefined;
        discountAmount?: string | undefined;
    }[];
    supplierId: string;
    orderDate: string;
    notes?: string | null | undefined;
    expectedDate?: string | null | undefined;
    submitForApproval?: boolean | undefined;
}, {
    clientRequestId: string;
    lines: {
        itemId: string;
        unitCost: string;
        orderedQty: string;
        notes?: string | null | undefined;
        locationId?: string | null | undefined;
        variantId?: string | null | undefined;
        discountAmount?: string | undefined;
    }[];
    supplierId: string;
    orderDate: string;
    notes?: string | null | undefined;
    expectedDate?: string | null | undefined;
    submitForApproval?: boolean | undefined;
}>;
export type PurchaseOrderCreateInput = z.infer<typeof purchaseOrderCreateSchema>;
export declare const purchaseOrderUpdateSchema: z.ZodObject<{
    orderDate: z.ZodOptional<z.ZodString>;
    expectedDate: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    lines: z.ZodOptional<z.ZodArray<z.ZodObject<{
        itemId: z.ZodString;
        /**
         * Modernization: exact inventory variant to purchase. Optional for base-only
         * items (server resolves the item's base variant); when provided it is
         * validated for org/item ownership + active state. A different variant is
         * never substituted.
         */
        variantId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        orderedQty: z.ZodEffects<z.ZodString, string, string>;
        unitCost: z.ZodString;
        discountAmount: z.ZodOptional<z.ZodString>;
        locationId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
        itemId: string;
        unitCost: string;
        orderedQty: string;
        notes?: string | null | undefined;
        locationId?: string | null | undefined;
        variantId?: string | null | undefined;
        discountAmount?: string | undefined;
    }, {
        itemId: string;
        unitCost: string;
        orderedQty: string;
        notes?: string | null | undefined;
        locationId?: string | null | undefined;
        variantId?: string | null | undefined;
        discountAmount?: string | undefined;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    notes?: string | null | undefined;
    lines?: {
        itemId: string;
        unitCost: string;
        orderedQty: string;
        notes?: string | null | undefined;
        locationId?: string | null | undefined;
        variantId?: string | null | undefined;
        discountAmount?: string | undefined;
    }[] | undefined;
    orderDate?: string | undefined;
    expectedDate?: string | null | undefined;
}, {
    notes?: string | null | undefined;
    lines?: {
        itemId: string;
        unitCost: string;
        orderedQty: string;
        notes?: string | null | undefined;
        locationId?: string | null | undefined;
        variantId?: string | null | undefined;
        discountAmount?: string | undefined;
    }[] | undefined;
    orderDate?: string | undefined;
    expectedDate?: string | null | undefined;
}>;
export declare const purchaseOrderApproveSchema: z.ZodObject<{
    notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    notes?: string | null | undefined;
}, {
    notes?: string | null | undefined;
}>;
export declare const purchaseOrderCancelSchema: z.ZodObject<{
    reason: z.ZodString;
}, "strip", z.ZodTypeAny, {
    reason: string;
}, {
    reason: string;
}>;
export declare const grnLineSchema: z.ZodObject<{
    poLineId: z.ZodString;
    deliveredQty: z.ZodEffects<z.ZodString, string, string>;
    acceptedQty: z.ZodString;
    rejectedQty: z.ZodOptional<z.ZodString>;
    unitCost: z.ZodOptional<z.ZodString>;
    batchRef: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    poLineId: string;
    deliveredQty: string;
    acceptedQty: string;
    notes?: string | null | undefined;
    unitCost?: string | undefined;
    rejectedQty?: string | undefined;
    batchRef?: string | null | undefined;
}, {
    poLineId: string;
    deliveredQty: string;
    acceptedQty: string;
    notes?: string | null | undefined;
    unitCost?: string | undefined;
    rejectedQty?: string | undefined;
    batchRef?: string | null | undefined;
}>;
export declare const grnCreateSchema: z.ZodObject<{
    poId: z.ZodString;
    receiveDate: z.ZodString;
    locationId: z.ZodString;
    challanRef: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    lines: z.ZodArray<z.ZodObject<{
        poLineId: z.ZodString;
        deliveredQty: z.ZodEffects<z.ZodString, string, string>;
        acceptedQty: z.ZodString;
        rejectedQty: z.ZodOptional<z.ZodString>;
        unitCost: z.ZodOptional<z.ZodString>;
        batchRef: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
        poLineId: string;
        deliveredQty: string;
        acceptedQty: string;
        notes?: string | null | undefined;
        unitCost?: string | undefined;
        rejectedQty?: string | undefined;
        batchRef?: string | null | undefined;
    }, {
        poLineId: string;
        deliveredQty: string;
        acceptedQty: string;
        notes?: string | null | undefined;
        unitCost?: string | undefined;
        rejectedQty?: string | undefined;
        batchRef?: string | null | undefined;
    }>, "many">;
    clientRequestId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    locationId: string;
    clientRequestId: string;
    lines: {
        poLineId: string;
        deliveredQty: string;
        acceptedQty: string;
        notes?: string | null | undefined;
        unitCost?: string | undefined;
        rejectedQty?: string | undefined;
        batchRef?: string | null | undefined;
    }[];
    poId: string;
    receiveDate: string;
    notes?: string | null | undefined;
    challanRef?: string | null | undefined;
}, {
    locationId: string;
    clientRequestId: string;
    lines: {
        poLineId: string;
        deliveredQty: string;
        acceptedQty: string;
        notes?: string | null | undefined;
        unitCost?: string | undefined;
        rejectedQty?: string | undefined;
        batchRef?: string | null | undefined;
    }[];
    poId: string;
    receiveDate: string;
    notes?: string | null | undefined;
    challanRef?: string | null | undefined;
}>;
export type GrnCreateInput = z.infer<typeof grnCreateSchema>;
export declare const purchaseReturnSchema: z.ZodObject<{
    supplierId: z.ZodString;
    grnId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    poId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    locationId: z.ZodString;
    returnDate: z.ZodString;
    reason: z.ZodString;
    notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    lines: z.ZodArray<z.ZodObject<{
        itemId: z.ZodString;
        /**
         * Modernization: exact variant being returned. Optional for base-only
         * items (server resolves the item's base variant). When provided it is
         * validated for org/item ownership + active state so the received
         * variant is preserved and never substituted.
         */
        variantId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        qty: z.ZodEffects<z.ZodString, string, string>;
        unitCost: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        itemId: string;
        qty: string;
        unitCost: string;
        variantId?: string | null | undefined;
    }, {
        itemId: string;
        qty: string;
        unitCost: string;
        variantId?: string | null | undefined;
    }>, "many">;
    clientRequestId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    locationId: string;
    reason: string;
    clientRequestId: string;
    lines: {
        itemId: string;
        qty: string;
        unitCost: string;
        variantId?: string | null | undefined;
    }[];
    supplierId: string;
    returnDate: string;
    notes?: string | null | undefined;
    poId?: string | null | undefined;
    grnId?: string | null | undefined;
}, {
    locationId: string;
    reason: string;
    clientRequestId: string;
    lines: {
        itemId: string;
        qty: string;
        unitCost: string;
        variantId?: string | null | undefined;
    }[];
    supplierId: string;
    returnDate: string;
    notes?: string | null | undefined;
    poId?: string | null | undefined;
    grnId?: string | null | undefined;
}>;
export type PurchaseReturnInput = z.infer<typeof purchaseReturnSchema>;
export declare const supplierInvoiceSchema: z.ZodObject<{
    supplierId: z.ZodString;
    supplierInvoiceNumber: z.ZodString;
    invoiceDate: z.ZodString;
    dueDate: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    subtotal: z.ZodEffects<z.ZodString, string, string>;
    discountAmount: z.ZodOptional<z.ZodString>;
    taxAmount: z.ZodOptional<z.ZodString>;
    grnIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    clientRequestId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    clientRequestId: string;
    supplierId: string;
    supplierInvoiceNumber: string;
    invoiceDate: string;
    subtotal: string;
    notes?: string | null | undefined;
    discountAmount?: string | undefined;
    dueDate?: string | null | undefined;
    taxAmount?: string | undefined;
    grnIds?: string[] | undefined;
}, {
    clientRequestId: string;
    supplierId: string;
    supplierInvoiceNumber: string;
    invoiceDate: string;
    subtotal: string;
    notes?: string | null | undefined;
    discountAmount?: string | undefined;
    dueDate?: string | null | undefined;
    taxAmount?: string | undefined;
    grnIds?: string[] | undefined;
}>;
export type SupplierInvoiceInput = z.infer<typeof supplierInvoiceSchema>;
export declare const supplierPaymentSchema: z.ZodObject<{
    supplierId: z.ZodString;
    paymentDate: z.ZodString;
    amount: z.ZodEffects<z.ZodString, string, string>;
    paymentMethodId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    financialAccountId: z.ZodString;
    bankRef: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    allocations: z.ZodArray<z.ZodObject<{
        invoiceId: z.ZodString;
        amount: z.ZodEffects<z.ZodString, string, string>;
    }, "strip", z.ZodTypeAny, {
        amount: string;
        invoiceId: string;
    }, {
        amount: string;
        invoiceId: string;
    }>, "many">;
    clientRequestId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    clientRequestId: string;
    supplierId: string;
    paymentDate: string;
    amount: string;
    financialAccountId: string;
    allocations: {
        amount: string;
        invoiceId: string;
    }[];
    notes?: string | null | undefined;
    paymentMethodId?: string | null | undefined;
    bankRef?: string | null | undefined;
}, {
    clientRequestId: string;
    supplierId: string;
    paymentDate: string;
    amount: string;
    financialAccountId: string;
    allocations: {
        amount: string;
        invoiceId: string;
    }[];
    notes?: string | null | undefined;
    paymentMethodId?: string | null | undefined;
    bankRef?: string | null | undefined;
}>;
export type SupplierPaymentInput = z.infer<typeof supplierPaymentSchema>;
export declare const notificationListQuerySchema: z.ZodObject<{
    unreadOnly: z.ZodOptional<z.ZodBoolean>;
    severity: z.ZodOptional<z.ZodEnum<["INFO", "WARNING", "HIGH", "CRITICAL"]>>;
    module: z.ZodOptional<z.ZodString>;
    page: z.ZodDefault<z.ZodNumber>;
    pageSize: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    page: number;
    pageSize: number;
    unreadOnly?: boolean | undefined;
    severity?: "INFO" | "WARNING" | "HIGH" | "CRITICAL" | undefined;
    module?: string | undefined;
}, {
    unreadOnly?: boolean | undefined;
    severity?: "INFO" | "WARNING" | "HIGH" | "CRITICAL" | undefined;
    module?: string | undefined;
    page?: number | undefined;
    pageSize?: number | undefined;
}>;
export type NotificationListQuery = z.infer<typeof notificationListQuerySchema>;
//# sourceMappingURL=inventory.d.ts.map