import type { RevenueOrganizationTypes } from "@cargo-ai/types"; import { type Token } from "../core.js"; import { type MemberRef } from "../refs.js"; import type { MemberHandle } from "./member.js"; export type TerritoryColor = RevenueOrganizationTypes.TerritoryColor; /** A member of a territory — a `defineMember` handle or `memberRef(uuid)`, with a routing weight. */ export type TerritoryMemberSpec = { ref: MemberHandle | MemberRef; /** Routing weight (relative share of assignments). */ weight?: number; }; export type TerritorySpec = { label?: string; /** Icon colour. Defaults to "grey". */ color?: TerritoryColor; description?: string; members?: TerritoryMemberSpec[]; /** Member assignments fall back to when no other rule matches. */ fallback?: MemberHandle | MemberRef; }; export type TerritoryHandle = { readonly slug: string; readonly uuid: Token; readonly resource: "territory"; }; export declare function defineTerritory(slug: string, spec: TerritorySpec): TerritoryHandle; //# sourceMappingURL=territory.d.ts.map