import { AsyncStoreProperty, EmailConfig } from "../../common.js"; import { AdminEmailOutbox, AdminSentEmail } from "../../email/index.js"; import { InternalApiKey, InternalApiKeyCreateOptions, InternalApiKeyFirstView } from "../../internal-api-keys/index.js"; import { AdminProjectPermission, AdminProjectPermissionDefinition, AdminProjectPermissionDefinitionCreateOptions, AdminProjectPermissionDefinitionUpdateOptions, AdminTeamPermission, AdminTeamPermissionDefinition, AdminTeamPermissionDefinitionCreateOptions, AdminTeamPermissionDefinitionUpdateOptions } from "../../permissions/index.js"; import { StackServerApp, StackServerAppConstructorOptions } from "./server-app.js"; import { AdminSessionReplay, AdminSessionReplayChunk, ListSessionReplayChunksOptions, ListSessionReplayChunksResult, ListSessionReplaysOptions, ListSessionReplaysResult, SessionReplayAllEventsResult } from "../../session-replays/index.js"; import { AdminProject } from "../../projects/index.js"; import { Result } from "@stackframe/stack-shared/dist/utils/results"; import { AnalyticsQueryOptions, AnalyticsQueryResponse } from "@stackframe/stack-shared/dist/interface/crud/analytics"; import { AdminGetSessionReplayChunkEventsResponse } from "@stackframe/stack-shared/dist/interface/crud/session-replays"; import { Transaction, TransactionType } from "@stackframe/stack-shared/dist/interface/crud/transactions"; import { InternalSession } from "@stackframe/stack-shared/dist/sessions"; import { MoneyAmount } from "@stackframe/stack-shared/dist/utils/currency-constants"; //#region src/lib/stack-app/apps/interfaces/admin-app.d.ts type EmailOutboxListOptions = { status?: string; simpleStatus?: string; limit?: number; cursor?: string; }; type EmailOutboxListResult = { items: AdminEmailOutbox[]; nextCursor: string | null; }; type EmailOutboxUpdateOptions = { isPaused?: boolean; scheduledAtMillis?: number; cancel?: boolean; tsxSource?: string; themeId?: string | null; }; type ManagedEmailProviderSetupResult = { domainId: string; subdomain: string; senderLocalPart: string; nameServerRecords: string[]; status: ManagedEmailProviderStatus["status"]; }; type ManagedEmailProviderStatus = { status: "pending_dns" | "pending_verification" | "verified" | "applied" | "failed"; }; type ManagedEmailProviderListItem = { domainId: string; subdomain: string; senderLocalPart: string; status: ManagedEmailProviderStatus["status"]; nameServerRecords: string[]; }; type StackAdminAppConstructorOptions = (StackServerAppConstructorOptions & { superSecretAdminKey?: string; projectOwnerSession?: InternalSession | (() => Promise); }); type StackAdminApp = (AsyncStoreProperty<"project", [], AdminProject, false> & AsyncStoreProperty<"internalApiKeys", [], InternalApiKey[], true> & AsyncStoreProperty<"teamPermissionDefinitions", [], AdminTeamPermissionDefinition[], true> & AsyncStoreProperty<"projectPermissionDefinitions", [], AdminProjectPermissionDefinition[], true> & AsyncStoreProperty<"emailThemes", [], { id: string; displayName: string; }[], true> & AsyncStoreProperty<"emailPreview", [{ themeId?: string | null | false; themeTsxSource?: string; templateId?: string; templateTsxSource?: string; }], string, false> & AsyncStoreProperty<"emailPreviewWithEditableMarkers", [{ themeId?: string | null | false; themeTsxSource?: string; templateId?: string; templateTsxSource?: string; editableSource?: 'template' | 'theme' | 'both'; }], { html: string; editableRegions?: Record; }, false> & AsyncStoreProperty<"emailTemplates", [], { id: string; displayName: string; themeId?: string; tsxSource: string; }[], true> & AsyncStoreProperty<"emailDrafts", [], { id: string; displayName: string; themeId: string | undefined | false; tsxSource: string; sentAt: Date | null; }[], true> & AsyncStoreProperty<"stripeAccountInfo", [], { account_id: string; charges_enabled: boolean; details_submitted: boolean; payouts_enabled: boolean; } | null, false> & AsyncStoreProperty<"transactions", [{ cursor?: string; limit?: number; type?: TransactionType; customerType?: 'user' | 'team' | 'custom'; }], { transactions: Transaction[]; nextCursor: string | null; }, true> & { createInternalApiKey(options: InternalApiKeyCreateOptions): Promise; createTeamPermissionDefinition(data: AdminTeamPermissionDefinitionCreateOptions): Promise; updateTeamPermissionDefinition(permissionId: string, data: AdminTeamPermissionDefinitionUpdateOptions): Promise; deleteTeamPermissionDefinition(permissionId: string): Promise; createProjectPermissionDefinition(data: AdminProjectPermissionDefinitionCreateOptions): Promise; updateProjectPermissionDefinition(permissionId: string, data: AdminProjectPermissionDefinitionUpdateOptions): Promise; deleteProjectPermissionDefinition(permissionId: string): Promise; useSvixToken(): { token: string; url: string | undefined; }; sendTestEmail(options: { recipientEmail: string; emailConfig: EmailConfig; }): Promise>; sendTestWebhook(options: { endpointId: string; }): Promise>; sendSignInInvitationEmail(email: string, callbackUrl: string): Promise; listSentEmails(): Promise; setupManagedEmailProvider(options: { subdomain: string; senderLocalPart: string; }): Promise; checkManagedEmailStatus(options: { domainId: string; subdomain: string; senderLocalPart: string; }): Promise; listManagedEmailDomains(): Promise; applyManagedEmailProvider(options: { domainId: string; }): Promise<{ status: "applied"; }>; useEmailTheme(id: string): { displayName: string; tsxSource: string; }; createEmailTheme(displayName: string): Promise<{ id: string; }>; updateEmailTheme(id: string, tsxSource: string): Promise; deleteEmailTheme(id: string): Promise; saveChatMessage(threadId: string, message: any): Promise; listChatMessages(threadId: string): Promise<{ messages: Array; }>; rewriteTemplateSourceWithAI(templateTsxSource: string): Promise<{ tsxSource: string; }>; updateEmailTemplate(id: string, tsxSource: string, themeId: string | null | false): Promise<{ renderedHtml: string; }>; createEmailTemplate(displayName: string): Promise<{ id: string; }>; deleteEmailTemplate(id: string): Promise; setupPayments(): Promise<{ url: string; }>; createStripeWidgetAccountSession(): Promise<{ client_secret: string; }>; getPaymentMethodConfigs(): Promise<{ configId: string; methods: Array<{ id: string; name: string; enabled: boolean; available: boolean; overridable: boolean; }>; } | null>; updatePaymentMethodConfigs(configId: string, updates: Record): Promise; createEmailDraft(options: { displayName: string; themeId?: string | undefined | false; tsxSource?: string; }): Promise<{ id: string; }>; updateEmailDraft(id: string, data: { displayName?: string; themeId?: string | undefined | false; tsxSource?: string; }): Promise; deleteEmailDraft(id: string): Promise; refreshEmailDrafts(): Promise; createItemQuantityChange(options: ({ userId: string; itemId: string; quantity: number; expiresAt?: string; description?: string; } | { teamId: string; itemId: string; quantity: number; expiresAt?: string; description?: string; } | { customCustomerId: string; itemId: string; quantity: number; expiresAt?: string; description?: string; })): Promise; refundTransaction(options: { type: "subscription" | "one-time-purchase"; id: string; refundEntries: Array<{ entryIndex: number; quantity: number; amountUsd: MoneyAmount; }>; }): Promise; queryAnalytics(options: AnalyticsQueryOptions): Promise; listSessionReplays(options?: ListSessionReplaysOptions): Promise; listSessionReplayChunks(sessionReplayId: string, options?: ListSessionReplayChunksOptions): Promise; getSessionReplayChunkEvents(sessionReplayId: string, chunkId: string): Promise; getSessionReplayEvents(sessionReplayId: string, options?: { offset?: number; limit?: number; }): Promise; listOutboxEmails(options?: EmailOutboxListOptions): Promise; getOutboxEmail(id: string): Promise; updateOutboxEmail(id: string, options: EmailOutboxUpdateOptions): Promise; pauseOutboxEmail(id: string): Promise; unpauseOutboxEmail(id: string): Promise; cancelOutboxEmail(id: string): Promise; } & StackServerApp); type StackAdminAppConstructor = { new (options: StackAdminAppConstructorOptions): StackAdminApp; new (options: StackAdminAppConstructorOptions): StackAdminApp; }; declare const StackAdminApp: StackAdminAppConstructor; //#endregion export { type AdminSessionReplay, type AdminSessionReplayChunk, EmailOutboxListOptions, EmailOutboxListResult, EmailOutboxUpdateOptions, type ListSessionReplayChunksOptions, type ListSessionReplayChunksResult, type ListSessionReplaysOptions, type ListSessionReplaysResult, ManagedEmailProviderListItem, ManagedEmailProviderSetupResult, ManagedEmailProviderStatus, type SessionReplayAllEventsResult, StackAdminApp, StackAdminAppConstructor, StackAdminAppConstructorOptions }; //# sourceMappingURL=admin-app.d.ts.map