import type { AddTeamMemberRequest, AddTenantMemberRequest, BatchUsersRequest, BatchUsersResponse, CheckPermissionRequest, CreateTeamRequest, CreateTenantRequest, DeleteTenantRequest, CreateTenantInvitationRequest, InternalTenantFeeType, InternalListTeamMembersQuery, InternalListTeamMembersResponse, InternalListTenantInvitationsQuery, InternalListTenantInvitationsResponse, InternalListTenantMembersQuery, InternalListTenantMembersResponse, InternalListUserTeamsQuery, InternalListUserTeamsResponse, InternalTeam, InternalTeamMember, InternalTenant, InternalTenantInvitation, InternalTenantMember, InternalUser, OutboxStatus, RespondToInvitationRequest, SuccessResponse, TeamListQuery, TenantListQuery, UpdateTeamRequest, UpdateTenantRequest, UpdateTeamMemberRoleRequest, UpdateTenantMemberRoleRequest, UpdateUserTenantPreferenceRequest, UserPermission, UserSessionsResponse, UserTeam, UserTenant, UserTenantPreference } from './types'; import { type SsoApiEnvelope } from './response'; export type SsoInternalAuthMode = 'bearer' | 'x-internal-secret'; export type SsoInternalFetchArgs = { method: string; url: string; headers: Record; body?: unknown; signal?: AbortSignal; }; export type SsoInternalFetchResponse = { status: number; body: unknown; headers: Headers; }; export type SsoInternalFetcher = (args: SsoInternalFetchArgs) => Promise; export type SsoInternalClientOptions = { baseUrl: string; internalSecret: string; authMode?: SsoInternalAuthMode; serviceName?: string; internalBasePath?: '/internal' | '/api/internal' | (string & {}); timeoutMs?: number; baseHeaders?: Record; fetcher?: SsoInternalFetcher; }; export type Paginated = { list: TItem[]; total: number; page: number; limit: number; }; export type SsoCacheStats = { keys: number; hits: number; misses: number; hitRate: number; memoryUsage: string; connectedClients: number; uptime: number; }; export type SsoPreloadUserDataResult = { tenants: number; teams: number; permissions: boolean; }; export type SsoVerifyTokenResult = { valid: boolean; userId?: string; expiresAt?: number; }; export declare function createSsoInternalClient(options: SsoInternalClientOptions): { raw: (method: string, path: string, body?: unknown) => Promise; }>; tokens: { verify(token: string): Promise; }; users: { get(id: string): Promise; batch(body: BatchUsersRequest): Promise; getTeams(id: string): Promise; listTeams(id: string, query?: InternalListUserTeamsQuery): Promise; getTenants(id: string): Promise; getPermissions(id: string, teamId?: string, tenantId?: string): Promise; getSessions(id: string): Promise; revokeOidcSession(id: string, clientId: string): Promise; revokeAllSessions(id: string): Promise; getTenantPreference(id: string): Promise; updateTenantPreference(id: string, body: UpdateUserTenantPreferenceRequest): Promise; preload(id: string): Promise; }; tenants: { list(query?: TenantListQuery): Promise>; get(id: string): Promise; create(body: CreateTenantRequest): Promise; update(id: string, body: UpdateTenantRequest): Promise; delete(id: string, body: DeleteTenantRequest): Promise; getFeeType(id: string): Promise; batchGetFeeTypes(tenantIds: string[]): Promise; getMembers(id: string): Promise; listMembers(id: string, query?: InternalListTenantMembersQuery): Promise; addMember(id: string, body: AddTenantMemberRequest): Promise; removeMember(id: string, userId: string): Promise; updateMemberRole(id: string, userId: string, body: UpdateTenantMemberRoleRequest): Promise; getInvitations(id: string): Promise; listInvitations(id: string, query?: InternalListTenantInvitationsQuery): Promise; createInvitation(id: string, body: CreateTenantInvitationRequest): Promise; }; invitations: { list(query?: { email?: string; }): Promise; respond(id: string, body: RespondToInvitationRequest): Promise; cancel(id: string): Promise; }; teams: { list(query?: TeamListQuery): Promise>; get(id: string): Promise; create(body: CreateTeamRequest): Promise; update(id: string, body: UpdateTeamRequest): Promise; delete(id: string): Promise; getMembers(id: string): Promise; listMembers(id: string, query?: InternalListTeamMembersQuery): Promise; addMember(id: string, body: AddTeamMemberRequest): Promise; removeMember(id: string, userId: string): Promise; updateMemberRole(id: string, userId: string, body: UpdateTeamMemberRoleRequest): Promise; }; permissions: { check(query: CheckPermissionRequest): Promise<{ hasPermission: boolean; }>; getUserPermissions(userId: string, teamId?: string, tenantId?: string): Promise; }; cache: { stats(): Promise; }; outbox: { status(): Promise; replay(eventId: string): Promise; retryFailed(): Promise<{ count: number; }>; }; }; export type SsoInternalClient = ReturnType; //# sourceMappingURL=client.d.ts.map