/** * Organizations — current org + members management. * * Wire shape sourced from `@sylphx/contract` (ADR-084). */ import type { CreateOrgInput, ListOrgAuditResult, MyOrgResponse, Organization, OrgMember, OrgMemberRole, OrgSettings, ProjectSession, UpdateMemberRoleResult, UserOrganizationsResponse } from '@sylphx/contract'; import type { Client } from './client.js'; export type { OrgMemberRole, UpdateMemberRoleResult }; export type { ListOrgAuditResult, ProjectSession }; export declare const current: (client: Client) => Promise; export declare const listMemberships: (client: Client) => Promise; export declare const create: (client: Client, input: CreateOrgInput) => Promise; export declare const getSettings: (client: Client, id: string) => Promise; export declare const listMembers: (client: Client, orgId: string) => Promise; export declare const inviteMember: (client: Client, orgId: string, email: string, role: "admin" | "member") => Promise; export declare const removeMember: (client: Client, orgId: string, userId: string) => Promise; /** * Update an organization member's role. Caller must be `admin` or `super_admin`. * * Server enforces: * - Cannot change your own role (use another admin) — 403 * - Only super_admins can promote to / change a super_admin — 403 * - Cannot demote the last admin (org must retain ≥1 admin/super_admin) — 403 * * Idempotent: setting a member's current role returns success without an audit row. */ export declare const updateMemberRole: (client: Client, orgId: string, userId: string, role: OrgMemberRole) => Promise; export declare const listProjectSessions: (client: Client, projectId: string, query?: { readonly limit?: string; readonly offset?: string; readonly environmentId?: string; }) => Promise<{ readonly sessions: readonly ProjectSession[]; readonly total: number; readonly limit: number; readonly offset: number; }>; export declare const revokeProjectSession: (client: Client, projectId: string, sessionId: string) => Promise<{ readonly success: boolean; }>; export declare const listAudit: (client: Client, query?: { readonly since?: string; readonly limit?: string; readonly actor?: string; }) => Promise; //# sourceMappingURL=organizations.d.ts.map