import type { FastifyInstance } from "fastify"; /** Slack signs the string `v0::` with the app's signing secret. */ export declare function slackSignature(secret: string, timestamp: string, rawBody: string): string; /** Slack's own guidance: reject anything older than five minutes, so a captured request can't be * replayed later. Compared in constant time, since a fast reject leaks the prefix. */ export declare function verifySlackRequest(secret: string, signature: string | undefined, timestamp: string | undefined, rawBody: string, nowSeconds: number): boolean; export interface SlackRoutesOptions { signingSecret: string; } /** * A `/whoowns ` slash command over the same lookup the REST API and the MCP server use. * * This is the only part of TeamAPI that meets the question where it actually gets asked. Every * other surface assumes someone already decided to go and look something up. * * Registered only when a signing secret is configured, so an unauthenticated endpoint can never * exist by accident. */ export declare function slackRoutes(app: FastifyInstance, options: SlackRoutesOptions): Promise; //# sourceMappingURL=slack.d.ts.map