import { type Plugin } from '@moxxy/sdk'; import type { VaultStore } from '@moxxy/plugin-vault'; export { SlackChannel, type SlackChannelOptions, type SlackStartOpts, type PairCandidate, } from './channel.js'; export { buildSlackPermissionResolver } from './permission.js'; export { SlackClient } from './channel/slack-client.js'; export { verifySlackSignature, SLACK_REPLAY_WINDOW_SEC } from './server/verify.js'; export { slackEnvelopeSchema, eventCallbackSchema, urlVerificationSchema } from './server/schema.js'; export { DeliveryDedupeCache } from './server/dedupe.js'; export { IngestServer, SLACK_EVENTS_PATH } from './server/ingest-server.js'; export { SLACK_BOT_TOKEN_KEY, SLACK_SIGNING_SECRET_KEY, SLACK_AUTHORIZED_KEY, SLACK_BOT_TOKEN_ENV, SLACK_SIGNING_SECRET_ENV, resolveBotToken, resolveSigningSecret, parseAuthorization, authorizationMatches, type SlackAuthorization, } from './keys.js'; export interface BuildSlackPluginOptions { /** Host-injected encrypted secret store (available immediately). */ readonly vault: VaultStore; } /** * Build the Slack channel plugin. The CLI passes the concrete vault (mirroring * the Telegram plugin's vault injection). The channel exposes its own ingest * server publicly via the self-hosted `proxyTunnel` (imported directly, like * the webhooks tunnel). */ export declare function buildSlackPlugin(opts: BuildSlackPluginOptions): Plugin; /** * Discovery-loadable default export: resolves the vault from the inter-plugin * service registry in `onInit` (the vault plugin publishes `'vault'`). Requires * `@moxxy/plugin-vault` to load first (declared in `package.json` * `moxxy.requirements`). The channel + subcommands read the vault via * `getVault()`, so resolution is deferred to call time — after `onInit` wired it. */ export declare const slackPlugin: Plugin; export default slackPlugin; //# sourceMappingURL=index.d.ts.map