export type BudgetScopeKind = 'section' | 'reserve' | 'org'; /** What a notice or a refusal needs to say about one scope. */ export interface ScopeText { kind: BudgetScopeKind; /** The section name (kind `section` only). */ name?: string; spentUsd: number; allocationUsd: number; } export declare const usd: (n: number) => string; /** `section "dev"`, `the root reserve`, `the org`. */ export declare function scopeLabel(s: Pick): string; export interface Notice { subject: string; body: string; } /** The 80 percent notice. */ export declare function warningNotice(s: ScopeText): Notice; /** The closure notice. `roles` are the roles of the scope, `held` the ids of the tasks that were held. */ export declare function closureNotice(s: ScopeText, roles: readonly string[], held: readonly string[]): Notice; /** Why an org_task, org_plan_graph or split into a closed scope is refused. */ export declare function assignmentRefusal(s: ScopeText, assignee: string): string; /** The close reason a held task and the role's budget detail carry. */ export declare function closureDetail(s: ScopeText): string; /** What a budget-closed role's tasks are told to do about it (budget-closure.ts `remedy`). */ export declare function closureRemedy(s: Pick): string; /** The copy of a role's own 80 percent warning that goes to its section lead. */ export declare function roleWarningCopy(message: string): string; //# sourceMappingURL=section-budget-text.d.ts.map