import { EntityManager } from 'typeorm';
/** All active district ids for an agency. */
export declare function getActiveDistrictIdsForAgency(agencyId: string, manager?: EntityManager): Promise<string[]>;
/** Active district id for an agency, or null if unmapped (first assigned district). */
export declare function getActiveDistrictIdForAgency(agencyId: string, manager?: EntityManager): Promise<string | null>;
export declare function isAgencyAssignedToDistrict(agencyId: string, districtId: string, manager?: EntityManager): Promise<boolean>;
/**
 * Throws ValidationError when agency is not assigned to the given district.
 */
export declare function assertAgencyBelongsToDistrict(agencyId: string, districtId: string, manager?: EntityManager): Promise<void>;
/**
 * Ensures agency is assigned to districtId.
 * - If already assigned to districtId → no-op
 * - Otherwise create or restore the agency–district pair (supports multiple districts per agency)
 */
export declare function ensureAgencyAssignedToDistrict(agencyId: string, districtId: string, manager?: EntityManager): Promise<void>;
/**
 * Batch-load active agency→district mappings for a set of agency ids.
 * Returns Map<agencyId, Set<districtId>>.
 */
export declare function loadActiveAgencyDistrictMap(agencyIds: string[], manager?: EntityManager): Promise<Map<string, Set<string>>>;
/**
 * Returns true when scheme.agencyId is mapped to scheme.districtId.
 */
export declare function agencyDistrictPairIsValid(agencyId: string | null | undefined, districtId: string | null | undefined, agencyDistrictMap: Map<string, Set<string>>): boolean;
//# sourceMappingURL=agencyDistrict.utils.d.ts.map