import { type ImpOeLineListParams, type ImpOeLineResponse } from '../schemas';
import type { P21SismClient } from '../client';
type ExecuteRequest = P21SismClient['executeRequest'];
type CreateListMethod = P21SismClient['createListMethod'];
/**
 * Creates the impOeLine resource methods
 * OpenAPI Path: /imp_oe_line → impOeLine.*
 * @description Methods for import order entry line operations
 */
export declare function createImpOeLineResource(executeRequest: ExecuteRequest, createListMethod: CreateListMethod): {
    /**
     * List import order entry lines with filtering capabilities
     *
     * @fullPath api.p21Sism.impOeLine.list
     * @service p21-sism
     * @domain order-entry-processing
     * @dataMethod impOeLineData.list
     * @discoverable true
     * @searchTerms ["order lines", "import lines", "oe lines", "order entry lines", "line items"]
     * @relatedEndpoints ["api.p21Sism.impOeLine.get", "api.p21Sism.import.impOeHdr.get"]
     * @commonPatterns ["List order lines", "Filter by import", "Search line items"]
     * @workflow ["order-processing", "line-management", "import-processing"]
     * @prerequisites ["Valid authentication", "Order entry access permissions"]
     * @nextSteps ["api.p21Sism.impOeLine.get for details", "api.p21Sism.impOeLine.update for modifications"]
     * @businessRules ["Supports pagination", "Filter by importUid or itemId", "Search across line data"]
     * @functionalArea "order-entry-processing"
     * @caching "Cache for 5 minutes, invalidate on line changes"
     * @performance "Indexed by importUid, supports text search"
     *
     * @param params Optional filtering and pagination parameters
     * @returns Promise<ImpOeLineListResponse> Complete response with order lines array and metadata
     */
    list: (params?: {
        limit?: number | undefined;
        offset?: number | undefined;
        edgeCache?: 3 | 2 | 1 | 4 | "1" | 5 | 8 | "2" | "3" | "4" | "5" | "8" | undefined;
        q?: string | undefined;
        orderBy?: string | undefined;
        itemId?: string | undefined;
        importUid?: number | undefined;
    } | undefined) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: import("zod").objectInputType<{
            importUid: import("zod").ZodOptional<import("zod").ZodNumber>;
            lineNo: import("zod").ZodOptional<import("zod").ZodNumber>;
            itemId: import("zod").ZodOptional<import("zod").ZodString>;
            unitQuantity: import("zod").ZodOptional<import("zod").ZodNumber>;
            unitOfMeasure: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">[];
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Get order entry line details by composite key (importUid, lineNo)
     *
     * @fullPath api.p21Sism.impOeLine.get
     * @service p21-sism
     * @domain order-entry-processing
     * @dataMethod impOeLineData.get
     * @discoverable true
     * @searchTerms ["order line details", "line info", "oe line", "line data"]
     * @relatedEndpoints ["api.p21Sism.impOeLine.list", "api.p21Sism.impOeLine.update"]
     * @commonPatterns ["Get line details", "View line data", "Retrieve line info"]
     * @workflow ["line-details", "order-processing", "data-retrieval"]
     * @prerequisites ["Valid importUid and lineNo", "Order entry access permissions"]
     * @nextSteps ["api.p21Sism.impOeLine.update for modifications"]
     * @businessRules ["Composite key (importUid, lineNo)", "Returns complete line data"]
     * @functionalArea "order-entry-processing"
     * @performance "Direct lookup by composite key"
     *
     * @param importUid Import UID
     * @param lineNo Line number
     * @returns Promise<ImpOeLineResponse> Complete response with order line data
     */
    get: (importUid: number, lineNo: number) => Promise<ImpOeLineResponse>;
    /**
     * Update order entry line by composite key (importUid, lineNo)
     *
     * @fullPath api.p21Sism.impOeLine.update
     * @service p21-sism
     * @domain order-entry-processing
     * @dataMethod impOeLineData.update
     * @discoverable true
     * @searchTerms ["update line", "modify line", "line update", "order line update"]
     * @relatedEndpoints ["api.p21Sism.impOeLine.get", "api.p21Sism.impOeLine.list"]
     * @commonPatterns ["Update line data", "Modify line details", "Change line values"]
     * @workflow ["line-updates", "order-processing", "data-modification"]
     * @prerequisites ["Valid importUid and lineNo", "Order modification permissions"]
     * @nextSteps ["api.p21Sism.impOeLine.get to verify changes"]
     * @businessRules ["Composite key (importUid, lineNo)", "Validation rules apply"]
     * @functionalArea "order-entry-processing"
     * @performance "Direct update with validation"
     *
     * @param importUid Import UID
     * @param lineNo Line number
     * @returns Promise<ImpOeLineResponse> Complete response with updated order line data
     */
    update: (importUid: number, lineNo: number) => Promise<ImpOeLineResponse>;
};
/**
 * Creates the impOeLineData resource methods (data-only versions)
 */
export declare function createImpOeLineDataResource(impOeLineResource: ReturnType<typeof createImpOeLineResource>): {
    list: (params?: ImpOeLineListParams) => Promise<import("zod").objectInputType<{
        importUid: import("zod").ZodOptional<import("zod").ZodNumber>;
        lineNo: import("zod").ZodOptional<import("zod").ZodNumber>;
        itemId: import("zod").ZodOptional<import("zod").ZodString>;
        unitQuantity: import("zod").ZodOptional<import("zod").ZodNumber>;
        unitOfMeasure: import("zod").ZodOptional<import("zod").ZodString>;
    }, import("zod").ZodTypeAny, "passthrough">[]>;
    get: (importUid: number, lineNo: number) => Promise<{
        lineNo?: number | undefined;
        itemId?: string | undefined;
        unitOfMeasure?: string | undefined;
        importUid?: number | undefined;
        unitQuantity?: number | undefined;
    } & {
        [k: string]: unknown;
    }>;
    update: (importUid: number, lineNo: number) => Promise<{
        lineNo?: number | undefined;
        itemId?: string | undefined;
        unitOfMeasure?: string | undefined;
        importUid?: number | undefined;
        unitQuantity?: number | undefined;
    } & {
        [k: string]: unknown;
    }>;
};
export type ImpOeLineResource = ReturnType<typeof createImpOeLineResource>;
export type ImpOeLineDataResource = ReturnType<typeof createImpOeLineDataResource>;
export {};
//# sourceMappingURL=imp-oe-line.d.ts.map