import type { StoredCommand } from './command-dispatcher.js'; /** 결재선에 올리는 자리 — 앱이 구현한다. */ export interface ApprovalGateway { /** 화면과 오류 문장에 쓰는 이름. 「어디서 승인하는가」를 사람에게 말해야 한다. */ label: string; /** * 이 커맨드를 결재선에 올린다. * * 돌려주는 것은 **올라간 자리의 식별자**다. 이 값이 커맨드 행에 적히고, 그 뒤로는 직접 결정이 막힌다 * — 문이 두 벌이면 한쪽 기록에만 남는 승인이 생긴다. * * `context` 는 리졸버 문맥 그대로 넘긴다(트랜잭션·로그인한 사람·테넌트). 이 패키지가 그 모양을 알면 * 앱의 인증 구조를 여기서 다시 정의하게 된다. */ request(command: StoredCommand, context: any): Promise; } /** 앱이 부팅에서 한 번 부른다. */ export declare function setApprovalGateway(next: ApprovalGateway): void; /** 등록된 것이 없으면 `undefined` — 없음을 없음으로 답한다. */ export declare function approvalGateway(): ApprovalGateway | undefined;