import { KnownErrors } from '../known-errors.js'; import { InternalSession, AccessToken, RefreshToken } from '../sessions.js'; import { Result } from '../utils/results.js'; import { ClientInterfaceOptions, StackClientInterface } from './clientInterface.js'; import { ContactChannelsCrud } from './crud/contact-channels.js'; import { CurrentUserCrud } from './crud/current-user.js'; import { ConnectedAccountAccessTokenCrud } from './crud/oauth.js'; import { ProjectPermissionsCrud } from './crud/project-permissions.js'; import { SessionsCrud } from './crud/sessions.js'; import { TeamInvitationCrud } from './crud/team-invitation.js'; import { TeamMemberProfilesCrud } from './crud/team-member-profiles.js'; import { TeamMembershipsCrud } from './crud/team-memberships.js'; import { TeamPermissionsCrud } from './crud/team-permissions.js'; import { TeamsCrud } from './crud/teams.js'; import { UsersCrud } from './crud/users.js'; import '../utils/errors.js'; import '../utils/json.js'; import 'jose'; import 'yup'; import '@simplewebauthn/types'; import './crud/project-api-keys.js'; import '../crud.js'; import '../utils/types.js'; import './crud/projects.js'; type ServerAuthApplicationOptions = (ClientInterfaceOptions & ({ readonly secretServerKey: string; } | { readonly projectOwnerSession: InternalSession; })); declare class StackServerInterface extends StackClientInterface { options: ServerAuthApplicationOptions; constructor(options: ServerAuthApplicationOptions); protected sendServerRequest(path: string, options: RequestInit, session: InternalSession | null, requestType?: "server" | "admin"): Promise; protected sendServerRequestAndCatchKnownError(path: string, requestOptions: RequestInit, tokenStoreOrNull: InternalSession | null, errorsToCatch: readonly E[]): Promise>>; createServerUser(data: UsersCrud['Server']['Create']): Promise; getServerUserByToken(session: InternalSession): Promise; getServerUserById(userId: string): Promise>; listServerTeamInvitations(options: { teamId: string; }): Promise; revokeServerTeamInvitation(invitationId: string, teamId: string): Promise; listServerTeamMemberProfiles(options: { teamId: string; }): Promise; getServerTeamMemberProfile(options: { teamId: string; userId: string; }): Promise; listServerTeamPermissions(options: { userId?: string; teamId?: string; recursive: boolean; }, session: InternalSession | null): Promise; listServerProjectPermissions(options: { userId?: string; recursive: boolean; }, session: InternalSession | null): Promise; listServerUsers(options: { cursor?: string; limit?: number; orderBy?: 'signedUpAt'; desc?: boolean; query?: string; }): Promise; listServerTeams(options?: { userId?: string; }): Promise; getServerTeam(teamId: string): Promise; listServerTeamUsers(teamId: string): Promise; createServerTeam(data: TeamsCrud['Server']['Create']): Promise; updateServerTeam(teamId: string, data: TeamsCrud['Server']['Update']): Promise; deleteServerTeam(teamId: string): Promise; addServerUserToTeam(options: { userId: string; teamId: string; }): Promise; removeServerUserFromTeam(options: { userId: string; teamId: string; }): Promise; updateServerUser(userId: string, update: UsersCrud['Server']['Update']): Promise; createServerProviderAccessToken(userId: string, provider: string, scope: string): Promise; createServerUserSession(userId: string, expiresInMillis: number, isImpersonation: boolean): Promise<{ accessToken: string; refreshToken: string; }>; leaveServerTeam(options: { teamId: string; userId: string; }): Promise; updateServerTeamMemberProfile(options: { teamId: string; userId: string; profile: TeamMemberProfilesCrud['Server']['Update']; }): Promise; grantServerTeamUserPermission(teamId: string, userId: string, permissionId: string): Promise; grantServerProjectPermission(userId: string, permissionId: string): Promise; revokeServerTeamUserPermission(teamId: string, userId: string, permissionId: string): Promise; revokeServerProjectPermission(userId: string, permissionId: string): Promise; deleteServerUser(userId: string): Promise; createServerContactChannel(data: ContactChannelsCrud['Server']['Create']): Promise; updateServerContactChannel(userId: string, contactChannelId: string, data: ContactChannelsCrud['Server']['Update']): Promise; deleteServerContactChannel(userId: string, contactChannelId: string): Promise; listServerContactChannels(userId: string): Promise; sendServerContactChannelVerificationEmail(userId: string, contactChannelId: string, callbackUrl: string): Promise; listServerSessions(userId: string): Promise; deleteServerSession(sessionId: string): Promise; sendServerTeamInvitation(options: { email: string; teamId: string; callbackUrl: string; }): Promise; updatePassword(options: { oldPassword: string; newPassword: string; }): Promise; } export { type ServerAuthApplicationOptions, StackServerInterface };