import { InternalSession, AccessToken, RefreshToken } from '../sessions.mjs'; import { EmailTemplateCrud, EmailTemplateType } from './crud/email-templates.mjs'; import { InternalEmailsCrud } from './crud/emails.mjs'; import { InternalApiKeysCrud } from './crud/internal-api-keys.mjs'; import { ProjectPermissionDefinitionsCrud } from './crud/project-permissions.mjs'; import { ProjectsCrud } from './crud/projects.mjs'; import { SvixTokenCrud } from './crud/svix-token.mjs'; import { TeamPermissionDefinitionsCrud } from './crud/team-permissions.mjs'; import { ServerAuthApplicationOptions, StackServerInterface } from './serverInterface.mjs'; import './clientInterface.mjs'; import '../known-errors.mjs'; import 'jose'; import '../crud.mjs'; import 'yup'; import '../utils/types.mjs'; import '../utils/results.mjs'; import './crud/contact-channels.mjs'; import './crud/current-user.mjs'; import './crud/oauth.mjs'; import './crud/sessions.mjs'; import './crud/team-invitation.mjs'; import './crud/team-member-profiles.mjs'; import './crud/team-memberships.mjs'; import './crud/teams.mjs'; import './crud/users.mjs'; import '../utils/errors.mjs'; import '../utils/json.mjs'; import '@simplewebauthn/types'; import './crud/project-api-keys.mjs'; type AdminAuthApplicationOptions = ServerAuthApplicationOptions & ({ superSecretAdminKey: string; } | { projectOwnerSession: InternalSession; }); type InternalApiKeyCreateCrudRequest = { has_publishable_client_key: boolean; has_secret_server_key: boolean; has_super_secret_admin_key: boolean; expires_at_millis: number; description: string; }; type InternalApiKeyCreateCrudResponse = InternalApiKeysCrud["Admin"]["Read"] & { publishable_client_key?: string; secret_server_key?: string; super_secret_admin_key?: string; }; declare class StackAdminInterface extends StackServerInterface { readonly options: AdminAuthApplicationOptions; constructor(options: AdminAuthApplicationOptions); sendAdminRequest(path: string, options: RequestInit, session: InternalSession | null, requestType?: "admin"): Promise; getProject(): Promise; updateProject(update: ProjectsCrud["Admin"]["Update"]): Promise; createInternalApiKey(options: InternalApiKeyCreateCrudRequest): Promise; listInternalApiKeys(): Promise; revokeInternalApiKeyById(id: string): Promise; getInternalApiKey(id: string, session: InternalSession): Promise; listEmailTemplates(): Promise; updateEmailTemplate(type: EmailTemplateType, data: EmailTemplateCrud['Admin']['Update']): Promise; resetEmailTemplate(type: EmailTemplateType): Promise; listTeamPermissionDefinitions(): Promise; createTeamPermissionDefinition(data: TeamPermissionDefinitionsCrud['Admin']['Create']): Promise; updateTeamPermissionDefinition(permissionId: string, data: TeamPermissionDefinitionsCrud['Admin']['Update']): Promise; deleteTeamPermissionDefinition(permissionId: string): Promise; listProjectPermissionDefinitions(): Promise; createProjectPermissionDefinition(data: ProjectPermissionDefinitionsCrud['Admin']['Create']): Promise; updateProjectPermissionDefinition(permissionId: string, data: ProjectPermissionDefinitionsCrud['Admin']['Update']): Promise; deleteProjectPermissionDefinition(permissionId: string): Promise; getSvixToken(): Promise; deleteProject(): Promise; getMetrics(): Promise; sendTestEmail(data: { recipient_email: string; email_config: { host: string; port: number; username: string; password: string; sender_email: string; sender_name: string; }; }): Promise<{ success: boolean; error_message?: string; }>; listSentEmails(): Promise; } export { type AdminAuthApplicationOptions, type InternalApiKeyCreateCrudRequest, type InternalApiKeyCreateCrudResponse, StackAdminInterface };