/** A dismissed question: closed without an answer. Recorded in questions.json * next to the question itself; `answer` stays null. */ export interface QuestionDismissal { state?: 'dismissed'; dismissedAt?: number; dismissReason?: string; } /** Only an open question is pending: it holds the idle watchdog and (when * blocking) org_complete, and it can still be answered or dismissed. */ export declare function isOpenQuestion(q: { answer?: string | null; state?: string; }): boolean; /** Why a question can no longer be answered or dismissed, or null if it is open. */ export declare function closedQuestionReason(questionId: string, q: { answer?: string | null; state?: string; }): string | null; /** Whether the org's saved definition has a role `role`; undefined when that * definition is missing or unreadable (it then says nothing about the role). */ export declare function savedOrgDefHasRole(root: string, org: string, role: string): boolean | undefined; /** True only when the org's saved definition is readable and no longer has a * role `role`. A missing or unreadable definition says nothing about the * role, so it is never taken as "removed". */ export declare function roleRemovedFromOrgDef(root: string, org: string, role: string): boolean; /** The note the asking role receives when its question is dismissed, so it * stops waiting for an answer that is not coming. */ export declare function dismissalNote(question: string, reason?: string): string; //# sourceMappingURL=question-state.d.ts.map