/**
 * Translation Jobs Routes
 *
 * Asynchronous translation job management (for content up to 50000 characters)
 */
import { z } from 'zod';
declare const router: import("express-serve-static-core").Router;
export declare const siteContentJobSubmitSchema: z.ZodEffects<z.ZodObject<{
    resourceType: z.ZodLiteral<"site_content">;
    contractVersion: z.ZodLiteral<1>;
    sourceLang: z.ZodString;
    targetLang: z.ZodString;
    sourceRevision: z.ZodString;
    attemptToken: z.ZodString;
    segments: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        text: z.ZodString;
        context: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    }, "strict", z.ZodTypeAny, {
        id: string;
        text: string;
        context: Record<string, unknown>;
    }, {
        id: string;
        text: string;
        context: Record<string, unknown>;
    }>, "many">;
    tone: z.ZodOptional<z.ZodEnum<["neutral", "formal", "casual"]>>;
    exceptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        text: z.ZodEffects<z.ZodString, string, string>;
        match_type: z.ZodDefault<z.ZodEnum<["exact", "contains"]>>;
    }, "strip", z.ZodTypeAny, {
        text: string;
        match_type: "exact" | "contains";
    }, {
        text: string;
        match_type?: "exact" | "contains" | undefined;
    }>, "many">>;
    callbackUrl: z.ZodString;
    callbackSecret: z.ZodString;
    clientJobId: z.ZodEffects<z.ZodString, string, string>;
}, "strict", z.ZodTypeAny, {
    sourceLang: string;
    targetLang: string;
    clientJobId: string;
    resourceType: "site_content";
    contractVersion: 1;
    sourceRevision: string;
    attemptToken: string;
    segments: {
        id: string;
        text: string;
        context: Record<string, unknown>;
    }[];
    callbackUrl: string;
    callbackSecret: string;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type: "exact" | "contains";
    }[] | undefined;
}, {
    sourceLang: string;
    targetLang: string;
    clientJobId: string;
    resourceType: "site_content";
    contractVersion: 1;
    sourceRevision: string;
    attemptToken: string;
    segments: {
        id: string;
        text: string;
        context: Record<string, unknown>;
    }[];
    callbackUrl: string;
    callbackSecret: string;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type?: "exact" | "contains" | undefined;
    }[] | undefined;
}>, {
    sourceLang: string;
    targetLang: string;
    clientJobId: string;
    resourceType: "site_content";
    contractVersion: 1;
    sourceRevision: string;
    attemptToken: string;
    segments: {
        id: string;
        text: string;
        context: Record<string, unknown>;
    }[];
    callbackUrl: string;
    callbackSecret: string;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type: "exact" | "contains";
    }[] | undefined;
}, {
    sourceLang: string;
    targetLang: string;
    clientJobId: string;
    resourceType: "site_content";
    contractVersion: 1;
    sourceRevision: string;
    attemptToken: string;
    segments: {
        id: string;
        text: string;
        context: Record<string, unknown>;
    }[];
    callbackUrl: string;
    callbackSecret: string;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type?: "exact" | "contains" | undefined;
    }[] | undefined;
}>;
export declare const jobSubmitSchema: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
    resourceType: z.ZodLiteral<"site_content">;
    contractVersion: z.ZodLiteral<1>;
    sourceLang: z.ZodString;
    targetLang: z.ZodString;
    sourceRevision: z.ZodString;
    attemptToken: z.ZodString;
    segments: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        text: z.ZodString;
        context: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    }, "strict", z.ZodTypeAny, {
        id: string;
        text: string;
        context: Record<string, unknown>;
    }, {
        id: string;
        text: string;
        context: Record<string, unknown>;
    }>, "many">;
    tone: z.ZodOptional<z.ZodEnum<["neutral", "formal", "casual"]>>;
    exceptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        text: z.ZodEffects<z.ZodString, string, string>;
        match_type: z.ZodDefault<z.ZodEnum<["exact", "contains"]>>;
    }, "strip", z.ZodTypeAny, {
        text: string;
        match_type: "exact" | "contains";
    }, {
        text: string;
        match_type?: "exact" | "contains" | undefined;
    }>, "many">>;
    callbackUrl: z.ZodString;
    callbackSecret: z.ZodString;
    clientJobId: z.ZodEffects<z.ZodString, string, string>;
}, "strict", z.ZodTypeAny, {
    sourceLang: string;
    targetLang: string;
    clientJobId: string;
    resourceType: "site_content";
    contractVersion: 1;
    sourceRevision: string;
    attemptToken: string;
    segments: {
        id: string;
        text: string;
        context: Record<string, unknown>;
    }[];
    callbackUrl: string;
    callbackSecret: string;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type: "exact" | "contains";
    }[] | undefined;
}, {
    sourceLang: string;
    targetLang: string;
    clientJobId: string;
    resourceType: "site_content";
    contractVersion: 1;
    sourceRevision: string;
    attemptToken: string;
    segments: {
        id: string;
        text: string;
        context: Record<string, unknown>;
    }[];
    callbackUrl: string;
    callbackSecret: string;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type?: "exact" | "contains" | undefined;
    }[] | undefined;
}>, {
    sourceLang: string;
    targetLang: string;
    clientJobId: string;
    resourceType: "site_content";
    contractVersion: 1;
    sourceRevision: string;
    attemptToken: string;
    segments: {
        id: string;
        text: string;
        context: Record<string, unknown>;
    }[];
    callbackUrl: string;
    callbackSecret: string;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type: "exact" | "contains";
    }[] | undefined;
}, {
    sourceLang: string;
    targetLang: string;
    clientJobId: string;
    resourceType: "site_content";
    contractVersion: 1;
    sourceRevision: string;
    attemptToken: string;
    segments: {
        id: string;
        text: string;
        context: Record<string, unknown>;
    }[];
    callbackUrl: string;
    callbackSecret: string;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type?: "exact" | "contains" | undefined;
    }[] | undefined;
}>, z.ZodEffects<z.ZodObject<{
    sourceLang: z.ZodString;
    targetLang: z.ZodString;
    title: z.ZodOptional<z.ZodString>;
    excerpt: z.ZodOptional<z.ZodString>;
    content: z.ZodOptional<z.ZodString>;
    fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    tone: z.ZodOptional<z.ZodEnum<["neutral", "formal", "casual"]>>;
    exceptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        text: z.ZodEffects<z.ZodString, string, string>;
        match_type: z.ZodDefault<z.ZodEnum<["exact", "contains"]>>;
    }, "strip", z.ZodTypeAny, {
        text: string;
        match_type: "exact" | "contains";
    }, {
        text: string;
        match_type?: "exact" | "contains" | undefined;
    }>, "many">>;
    callbackUrl: z.ZodOptional<z.ZodString>;
    callbackSecret: z.ZodOptional<z.ZodString>;
    clientJobId: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    resourceType: z.ZodOptional<z.ZodNever>;
    segments: z.ZodOptional<z.ZodNever>;
}, "strip", z.ZodTypeAny, {
    sourceLang: string;
    targetLang: string;
    clientJobId?: string | undefined;
    title?: string | undefined;
    excerpt?: string | undefined;
    content?: string | undefined;
    resourceType?: undefined;
    segments?: undefined;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type: "exact" | "contains";
    }[] | undefined;
    callbackUrl?: string | undefined;
    callbackSecret?: string | undefined;
    fields?: Record<string, string> | undefined;
}, {
    sourceLang: string;
    targetLang: string;
    clientJobId?: string | undefined;
    title?: string | undefined;
    excerpt?: string | undefined;
    content?: string | undefined;
    resourceType?: undefined;
    segments?: undefined;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type?: "exact" | "contains" | undefined;
    }[] | undefined;
    callbackUrl?: string | undefined;
    callbackSecret?: string | undefined;
    fields?: Record<string, string> | undefined;
}>, {
    sourceLang: string;
    targetLang: string;
    clientJobId?: string | undefined;
    title?: string | undefined;
    excerpt?: string | undefined;
    content?: string | undefined;
    resourceType?: undefined;
    segments?: undefined;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type: "exact" | "contains";
    }[] | undefined;
    callbackUrl?: string | undefined;
    callbackSecret?: string | undefined;
    fields?: Record<string, string> | undefined;
}, {
    sourceLang: string;
    targetLang: string;
    clientJobId?: string | undefined;
    title?: string | undefined;
    excerpt?: string | undefined;
    content?: string | undefined;
    resourceType?: undefined;
    segments?: undefined;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type?: "exact" | "contains" | undefined;
    }[] | undefined;
    callbackUrl?: string | undefined;
    callbackSecret?: string | undefined;
    fields?: Record<string, string> | undefined;
}>]>;
export declare const jobsListQuerySchema: z.ZodObject<{
    status: z.ZodOptional<z.ZodString>;
    clientJobId: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    limit: z.ZodOptional<z.ZodNumber>;
    offset: z.ZodOptional<z.ZodNumber>;
    sortBy: z.ZodOptional<z.ZodEnum<["created_at", "updated_at"]>>;
    sortOrder: z.ZodOptional<z.ZodEnum<["asc", "desc"]>>;
}, "strip", z.ZodTypeAny, {
    status?: string | undefined;
    clientJobId?: string | undefined;
    limit?: number | undefined;
    sortBy?: "updated_at" | "created_at" | undefined;
    sortOrder?: "asc" | "desc" | undefined;
    offset?: number | undefined;
}, {
    status?: string | undefined;
    clientJobId?: string | undefined;
    limit?: number | undefined;
    sortBy?: "updated_at" | "created_at" | undefined;
    sortOrder?: "asc" | "desc" | undefined;
    offset?: number | undefined;
}>;
export declare const bulkStringsJobSchema: z.ZodEffects<z.ZodObject<{
    sourceLang: z.ZodString;
    targetLangs: z.ZodArray<z.ZodString, "many">;
    strings: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        content: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        id: string;
        content: string;
    }, {
        id: string;
        content: string;
    }>, "many">;
    callbackUrl: z.ZodString;
    callbackSecret: z.ZodString;
    tone: z.ZodOptional<z.ZodEnum<["neutral", "formal", "casual"]>>;
    exceptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        text: z.ZodEffects<z.ZodString, string, string>;
        match_type: z.ZodDefault<z.ZodEnum<["exact", "contains"]>>;
    }, "strip", z.ZodTypeAny, {
        text: string;
        match_type: "exact" | "contains";
    }, {
        text: string;
        match_type?: "exact" | "contains" | undefined;
    }>, "many">>;
    clientJobId: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
}, "strip", z.ZodTypeAny, {
    sourceLang: string;
    callbackUrl: string;
    callbackSecret: string;
    strings: {
        id: string;
        content: string;
    }[];
    targetLangs: string[];
    clientJobId?: string | undefined;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type: "exact" | "contains";
    }[] | undefined;
}, {
    sourceLang: string;
    callbackUrl: string;
    callbackSecret: string;
    strings: {
        id: string;
        content: string;
    }[];
    targetLangs: string[];
    clientJobId?: string | undefined;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type?: "exact" | "contains" | undefined;
    }[] | undefined;
}>, {
    sourceLang: string;
    callbackUrl: string;
    callbackSecret: string;
    strings: {
        id: string;
        content: string;
    }[];
    targetLangs: string[];
    clientJobId?: string | undefined;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type: "exact" | "contains";
    }[] | undefined;
}, {
    sourceLang: string;
    callbackUrl: string;
    callbackSecret: string;
    strings: {
        id: string;
        content: string;
    }[];
    targetLangs: string[];
    clientJobId?: string | undefined;
    tone?: "neutral" | "formal" | "casual" | undefined;
    exceptions?: {
        text: string;
        match_type?: "exact" | "contains" | undefined;
    }[] | undefined;
}>;
type BulkStringsJobRequest = z.infer<typeof bulkStringsJobSchema>;
type BulkStringsSubmission = BulkStringsJobRequest & {
    userId: string;
    plugin: string;
    siteUrl?: string;
};
export declare function submitBulkStringsJob(submission: BulkStringsSubmission): Promise<any>;
export declare const bulkContentJobSchema: z.ZodEffects<z.ZodObject<{
    submissionId: z.ZodString;
    clientJobId: z.ZodEffects<z.ZodString, string, string>;
    sourceLang: z.ZodString;
    items: z.ZodArray<z.ZodEffects<z.ZodObject<{
        ref: z.ZodString;
        targetLang: z.ZodString;
        title: z.ZodOptional<z.ZodString>;
        excerpt: z.ZodOptional<z.ZodString>;
        content: z.ZodOptional<z.ZodString>;
        fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    }, "strict", z.ZodTypeAny, {
        targetLang: string;
        ref: string;
        title?: string | undefined;
        excerpt?: string | undefined;
        content?: string | undefined;
        fields?: Record<string, string> | undefined;
    }, {
        targetLang: string;
        ref: string;
        title?: string | undefined;
        excerpt?: string | undefined;
        content?: string | undefined;
        fields?: Record<string, string> | undefined;
    }>, {
        targetLang: string;
        ref: string;
        title?: string | undefined;
        excerpt?: string | undefined;
        content?: string | undefined;
        fields?: Record<string, string> | undefined;
    }, {
        targetLang: string;
        ref: string;
        title?: string | undefined;
        excerpt?: string | undefined;
        content?: string | undefined;
        fields?: Record<string, string> | undefined;
    }>, "many">;
    callbackUrl: z.ZodString;
    tone: z.ZodOptional<z.ZodEnum<["neutral", "formal", "casual"]>>;
}, "strict", z.ZodTypeAny, {
    sourceLang: string;
    clientJobId: string;
    callbackUrl: string;
    submissionId: string;
    items: {
        targetLang: string;
        ref: string;
        title?: string | undefined;
        excerpt?: string | undefined;
        content?: string | undefined;
        fields?: Record<string, string> | undefined;
    }[];
    tone?: "neutral" | "formal" | "casual" | undefined;
}, {
    sourceLang: string;
    clientJobId: string;
    callbackUrl: string;
    submissionId: string;
    items: {
        targetLang: string;
        ref: string;
        title?: string | undefined;
        excerpt?: string | undefined;
        content?: string | undefined;
        fields?: Record<string, string> | undefined;
    }[];
    tone?: "neutral" | "formal" | "casual" | undefined;
}>, {
    sourceLang: string;
    clientJobId: string;
    callbackUrl: string;
    submissionId: string;
    items: {
        targetLang: string;
        ref: string;
        title?: string | undefined;
        excerpt?: string | undefined;
        content?: string | undefined;
        fields?: Record<string, string> | undefined;
    }[];
    tone?: "neutral" | "formal" | "casual" | undefined;
}, {
    sourceLang: string;
    clientJobId: string;
    callbackUrl: string;
    submissionId: string;
    items: {
        targetLang: string;
        ref: string;
        title?: string | undefined;
        excerpt?: string | undefined;
        content?: string | undefined;
        fields?: Record<string, string> | undefined;
    }[];
    tone?: "neutral" | "formal" | "casual" | undefined;
}>;
type BulkContentJobRequest = z.infer<typeof bulkContentJobSchema>;
type BulkContentSubmission = BulkContentJobRequest & {
    userId: string;
    plugin: string;
    siteUrl?: string;
    callbackSecret: string;
};
type BulkContentSubmissionOptions = {
    ensureCredits?: (characters: number) => Promise<void>;
};
export declare class BulkContentSubmissionError extends Error {
    readonly statusCode: 404 | 409;
    readonly code: 'JOB_NOT_FOUND' | 'SUBMISSION_ID_CONFLICT';
    constructor(statusCode: 404 | 409, code: 'JOB_NOT_FOUND' | 'SUBMISSION_ID_CONFLICT', message: string);
}
export declare function submitBulkContentJob(submission: BulkContentSubmission, options?: BulkContentSubmissionOptions): Promise<any>;
export default router;
//# sourceMappingURL=jobs.d.ts.map