import type { Occasion, OccasionSubject } from './types.js'; /** True when a segment, with or without its `for`, declares the owner. */ export declare function isSelfAttribution(value: string): boolean; /** * The subject a possessive title names, or empty. * * `Jordan's birthday` → `Jordan`. `Natalie Sons's birthday` → `Natalie Sons`. * `Our anniversary` → empty, because it names no one; `birthday` → empty. * * Deliberately only the possessive. A title is not a sentence to be mined for * names, the one place a title reliably names its subject is in front of an * apostrophe-s, and reaching further would be the guessing this module exists * to avoid. */ export declare function possessiveSubject(title: string): string; /** * Every way the owner refers to themselves, normalised, from their own file. * * A declared name contributes itself AND its first word, so `identity.name` of * "Jordan Reyes" recognises a line written as "Jordan's birthday". The first word * only, the last name alone is a family name, and a family name matching would * silence every relative sharing it. */ export declare function ownerAliasSet(declaredNames: readonly string[]): ReadonlySet; /** What one occasion's attribution resolves to, given the owner's declared names. */ export declare function resolveOccasionSubject(occasion: Pick, declaredNames: readonly string[]): OccasionSubject; /** * Whether this occasion may ever be PUSHED at the owner. * * One rule, and it is narrow on purpose: something about the owner that they * only have to remember is something they already know. Their own birthday, * their own anniversary of anything. They do not need a message about it, * least of all an hourly one, so nothing is sent, and it stays visible to * anything that ASKS what is coming up. * * The narrowness is the load-bearing part. An occasion about the owner that * wants an ACTION, `Renew passport · 2026-11-02 · once · gift-giving` is the * shape, and the kind is the thing that says an action is wanted, is not * covered, and keeps the ordinary two-boundary cadence. They do not know when * their passport expires. They do know when they were born. */ export declare function pushableSubject(occasion: Pick): boolean; /** Why an occasion is not pushed, in words a surface can show the owner. */ export declare function selfOccasionReason(occasion: Pick): string; //# sourceMappingURL=subject.d.ts.map