import type { ActionRunContext } from "../action.js"; interface WidgetShareTarget { resourceType: string; resourceId: string; } interface WidgetShareGrantee { principalType?: string; role?: string; } /** * The widget route already pins these arguments to the signed grant; this * repeats the pin inside the action so a mistake in the route's wiring cannot * widen what a widget may share. Other callers pass through untouched. */ export declare function assertWidgetShareWriteGrant(ctx: ActionRunContext | undefined, actionName: string, args: WidgetShareTarget & WidgetShareGrantee): void; /** The note in a share email is the caller's free text, so a widget sends none. */ export declare function widgetShareMessage(ctx: ActionRunContext | undefined, message: string | undefined): string | undefined; export declare function assertWidgetShareReadGrant(ctx: ActionRunContext | undefined, args: WidgetShareTarget): void; export {};