import { T as TranslateEntityArgs, E as EntityTranslationResult, G as GetEntityTranslationStatusArgs, a as EntityTranslationStatus, b as GetEntityTranslationStatusForArgs } from './worker-B_rI3BXN.js';
export { C as CreateTranslationWorkerDeps, F as FieldOutcome, L as LocaleResult, S as SourceTextProvider, c as StaleUnit, d as TRANSLATION_SWEEP_JOB, e as TranslationWorker, f as TranslationWorkerEnv, g as createTranslationWorker, i as idempotencyKey } from './worker-B_rI3BXN.js';
import { Querier } from '@platform-modules/db';
import { I18nContentSchema } from '@platform-modules/i18n-content';
import '@platform-modules/jobs';

declare class I18nTranslatorError extends Error {
    readonly code: string;
    readonly name: string;
    readonly _tag: "I18nTranslatorError";
    constructor(code: string, message: string);
}
declare class UnknownLocaleError extends I18nTranslatorError {
    readonly locale: string;
    readonly code: 'UNKNOWN_LOCALE';
    readonly name = "UnknownLocaleError";
    constructor(locale: string);
}
declare class SourceUnavailableError extends I18nTranslatorError {
    readonly entityType: string;
    readonly entityId: string;
    readonly code: 'SOURCE_UNAVAILABLE';
    readonly name = "SourceUnavailableError";
    constructor(entityType: string, entityId: string);
}
declare class NoAdaptersConfiguredError extends I18nTranslatorError {
    readonly code: 'NO_ADAPTERS_CONFIGURED';
    readonly name = "NoAdaptersConfiguredError";
    constructor();
}
declare function isI18nTranslatorError(e: unknown): e is I18nTranslatorError;
declare function isUnknownLocaleError(e: unknown): e is UnknownLocaleError;
declare function isSourceUnavailableError(e: unknown): e is SourceUnavailableError;
declare function isNoAdaptersConfiguredError(e: unknown): e is NoAdaptersConfiguredError;

declare function hashSource(text: string): Promise<string>;

declare function translateEntity(q: Querier<I18nContentSchema>, args: TranslateEntityArgs): Promise<EntityTranslationResult>;

/**
 * Returns the aggregate translation status for a single entity.
 *
 * @remarks
 * Ownership scoping is the caller's responsibility — the entityId must already
 * be authorised for the calling tenant/user. No tenantId filter is applied here
 * because the translationValue schema does not carry a tenant column; entity-level
 * access control is enforced upstream by the caller.
 */
declare function getEntityTranslationStatus(q: Querier<I18nContentSchema>, args: GetEntityTranslationStatusArgs): Promise<EntityTranslationStatus>;
/**
 * Returns the aggregate translation status for a batch of entities.
 *
 * @remarks
 * Ownership scoping is the caller's responsibility — all entityIds must already
 * be authorised for the calling tenant/user. No tenantId filter is applied here
 * because the translationValue schema does not carry a tenant column; entity-level
 * access control is enforced upstream by the caller.
 */
declare function getEntityTranslationStatusFor(q: Querier<I18nContentSchema>, args: GetEntityTranslationStatusForArgs): Promise<Map<string, EntityTranslationStatus>>;

export { EntityTranslationResult, EntityTranslationStatus, GetEntityTranslationStatusArgs, GetEntityTranslationStatusForArgs, I18nTranslatorError, NoAdaptersConfiguredError, SourceUnavailableError, TranslateEntityArgs, UnknownLocaleError, getEntityTranslationStatus, getEntityTranslationStatusFor, hashSource, isI18nTranslatorError, isNoAdaptersConfiguredError, isSourceUnavailableError, isUnknownLocaleError, translateEntity };
