import { type SubmitJobRequest } from '@wix/bex-utils/@wix/ambassador-hub-v1-job/types';
export type ImportJobOutcome = 'completed' | 'partial' | 'failed';
/**
 * Test mocks for the data-hub Hub Job import lifecycle, mirroring
 * `exportServiceMocks`. Auto-included in the test container's httpClient
 * scenarios so every import test drives a fake server. Behavior is controllable
 * per test via `setOutcome` / `setInProgressPolls`, and the uploaded (aligned)
 * CSV + the submitted job request are captured for assertions.
 */
export declare function hubJobImportMocks(whenRequest: typeof import('@wix/http-client-testkit/client').whenRequest, when: typeof import('@wix/http-client-testkit/client').when): {
    state: {
        outcome: ImportJobOutcome;
        succeeded: number;
        failed: number;
        /** number of IN_PROGRESS polls before the job goes terminal */
        inProgressPolls: number;
        /** csvRows indices reported as failed via movement logs */
        failedRowIndices: number[];
        /** the raw body PUT to the signed upload URL (the aligned CSV File) */
        uploadedBody: unknown;
        /** the SubmitJobRequest payload */
        submittedRequest: SubmitJobRequest | undefined;
        submittedJobId: string | undefined;
        terminatedJobIds: string[];
    };
    /** Set the job's terminal outcome and its success/failure counts. */
    setOutcome(outcome: ImportJobOutcome, counts?: {
        succeeded?: number;
        failed?: number;
    }): void;
    /** Make the job report IN_PROGRESS for `n` polls before going terminal. */
    setInProgressPolls(n: number): void;
    /** Row indices `listMovementLogs` reports as failed (sourceItemId). */
    setFailedRowIndices(indices: number[]): void;
    /** The aligned CSV uploaded to the signed URL, as text. */
    getUploadedCsv(): Promise<string>;
    reset(): void;
    mocks: import("@wix/http-client-testkit").AnyScenario[];
};
//# sourceMappingURL=hubJobImportMocks.d.ts.map