import type { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
import { type ShareFlowResource } from "./useShareFlow.js";
/** Props for {@link PeopleWithAccess}. */
export interface PeopleWithAccessProps {
    /** The resource whose access list is shown. */
    readonly resource: ShareFlowResource;
    /** Resource kind string for the API ref (e.g. "agent", "session"). */
    readonly resourceKindString: string;
    /** ApiResourceKind enum value for grantable-role lookup. */
    readonly resourceKind: ApiResourceKind;
    /**
     * Organization the resource belongs to (`metadata.org`). Drives the
     * org-member typeahead in the grant form.
     */
    readonly orgId: string;
    /** Additional CSS class names for the root container. */
    readonly className?: string;
}
/**
 * The "people with access" body shared by {@link SharePanel} and the unified
 * Manage access dialog: the list of principals with their roles, plus the
 * inline grant form.
 *
 * Reading the access list requires `can_view_access`; this component assumes
 * the caller has already gated rendering on it (e.g. via `PermissionGate` or
 * a parent trigger). Mutations are gated here, in proportion to the action:
 * the grant form and per-row revoke buttons render only behind
 * `can_grant_access`, so a viewer sees *who* has access without being offered
 * controls the server would reject. The backend remains the enforcer.
 *
 * All visual properties flow through `--stgm-*` design tokens.
 */
export declare function PeopleWithAccess({ resource, resourceKindString, resourceKind, orgId, className, }: PeopleWithAccessProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=PeopleWithAccess.d.ts.map