import { type Client, type Guild } from "discord.js"; export interface OnboardingContext { workspace: string; /** The bot's bound org slug (post-clientReady). */ ownOrgSlug: string | null; /** The bot's bound handle (post-clientReady). */ ownHandle: string | null; /** Async hook the adapter exposes — must run ensureChannels for one guild. */ ensureChannels: (guild: Guild) => Promise; } /** * Register both the guildCreate handler (welcome embed) and the * InteractionCreate handler (button clicks). Safe to call from * `Client.on(Events.ClientReady)` — the listeners persist for the * lifetime of the client. */ export declare function registerOnboarding(client: Client, getContext: () => OnboardingContext): void; export declare function sendOnboardingEmbed(guild: Guild, ctx: OnboardingContext): Promise;