/** * Narrowing of a fetched CUA definition (RS_CUA_INTERNAL_FETCH result) for * GetGuiStatus, so a caller who asks for one status or a few function codes * does not receive the whole program interface. * * Links between the tables (field names as serialized by /ui2/cl_json): * STA.CODE ──SET.STATUS──▶ SET.FUNCTION ──▶ FUN.CODE (functions of a status) * STA.PFKCODE ─▶ PFK.CODE (function keys: PFNO → FUNCODE) * STA.PFKCODE ─▶ BUT.PFK_CODE, STA.BUTCODE ─▶ BUT.CODE (application toolbar: PFNO) * STA.ACTCODE ─▶ ACT.CODE (menu bar) ─▶ MEN / MTX by the menu codes it names */ type Cua = Record; export interface CuaFilter { statusName?: string; functionCodes?: string[]; } /** The CUA reduced to the given status (and its functions, keys, toolbar, * menus) and / or the given function codes. ADM is kept; TIT, DOC and BIV are * dropped when a status is given (they do not belong to a status). */ export declare function filterCua(cua: Cua, { statusName, functionCodes }: CuaFilter): Cua; export interface CompactFunction { code: string; text: string; icon?: string; fkey?: string; toolbar?: boolean; } export interface CompactStatus { code: string; type: string; functions: CompactFunction[]; } /** One line per function of each status: code, text, icon, function key, on the toolbar. */ export declare function compactCua(cua: Cua): { statuses: CompactStatus[]; }; export {}; //# sourceMappingURL=cuaFilter.d.ts.map