import { z } from "zod"; import type { SlackAppConfiguration } from "./types/chat-channels.js"; export declare const SLACK_CHAT_BOT_SCOPES: readonly ["app_mentions:read", "assistant:write", "channels:history", "channels:read", "chat:write", "commands", "files:read", "files:write", "groups:history", "groups:read", "im:history", "im:read", "mpim:history", "mpim:read", "reactions:read", "reactions:write", "users:read"]; export declare function defaultSlackAppConfiguration(agentName: string): SlackAppConfiguration; export declare function buildSlackAppManifest(input: { app: SlackAppConfiguration; agentName: string; webhookUrl: string; redirectUri?: string; }): { display_information: { name: string; }; features: { app_home: { home_tab_enabled: boolean; messages_tab_enabled: boolean; messages_tab_read_only_enabled: boolean; }; agent_view: { agent_description: string; }; bot_user: { display_name: string; }; slash_commands: { command: string; description: string; usage_hint: string; should_escape: boolean; url: string; }[]; }; oauth_config: { scopes: { bot: ("app_mentions:read" | "assistant:write" | "bookmarks:read" | "bookmarks:write" | "canvases:read" | "canvases:write" | "channels:history" | "channels:manage" | "channels:read" | "channels:write.topic" | "chat:write" | "commands" | "emoji:read" | "files:read" | "files:write" | "groups:history" | "groups:read" | "groups:write" | "groups:write.topic" | "im:history" | "im:read" | "im:write" | "lists:read" | "lists:write" | "mpim:history" | "mpim:read" | "pins:read" | "pins:write" | "reactions:read" | "reactions:write" | "users:read")[]; }; redirect_urls?: string[] | undefined; }; settings: { org_deploy_enabled: boolean; socket_mode_enabled: boolean; token_rotation_enabled: boolean; event_subscriptions: { request_url: string; bot_events: string[]; }; interactivity: { is_enabled: boolean; request_url: string; }; }; }; export declare const slackRegistrationSchema: z.ZodObject<{ requestId: z.ZodString; credentials: z.ZodObject<{ configurationToken: z.ZodString; }, z.core.$strict>; confirmedNoAppCreated: z.ZodOptional; }, z.core.$strict>; export type SlackRegistrationInput = z.infer; export declare const slackRegistrationStatusSchema: z.ZodEnum<{ configured: "configured"; creating: "creating"; credentials_saved: "credentials_saved"; failed: "failed"; install: "install"; removed: "removed"; uncertain: "uncertain"; }>; export type SlackRegistrationStatus = z.infer; export declare const slackRegistrationStateSchema: z.ZodObject<{ status: z.ZodEnum<{ configured: "configured"; creating: "creating"; credentials_saved: "credentials_saved"; failed: "failed"; install: "install"; removed: "removed"; uncertain: "uncertain"; }>; appId: z.ZodOptional>; managementUrl: z.ZodOptional>; errorCode: z.ZodOptional>; }, z.core.$strict>; export type SlackRegistrationState = z.infer; export declare const slackAvatarStateSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ status: z.ZodLiteral<"pending">; }, z.core.$strict>, z.ZodObject<{ status: z.ZodLiteral<"uploaded">; uploadedAt: z.ZodString; }, z.core.$strict>, z.ZodObject<{ status: z.ZodLiteral<"failed">; errorCode: z.ZodLiteral<"slack_avatar_upload_failed">; }, z.core.$strict>], "status">; export type SlackAvatarState = z.infer; export declare const slackAccountStateSchema: z.ZodObject<{ externalUserId: z.ZodString; paperclipUserId: z.ZodString; status: z.ZodEnum<{ linked: "linked"; pending: "pending"; }>; welcomeStatus: z.ZodEnum<{ failed: "failed"; pending: "pending"; sending: "sending"; sent: "sent"; uncertain: "uncertain"; }>; verificationStatus: z.ZodOptional>; dmChannelId: z.ZodOptional; }, z.core.$strict>; export type SlackAccountState = z.infer; export declare const slackInstallAuthorizationSchema: z.ZodObject<{ authorizationUrl: z.ZodString; expiresAt: z.ZodString; }, z.core.$strip>; export type SlackInstallAuthorization = z.infer; export declare const slackSetupActionSchema: z.ZodObject<{}, z.core.$strict>; export declare function slackRegistrationErrorMessage(code: string): string; //# sourceMappingURL=slack-app-manifest.d.ts.map