import { type OpenClawConfig } from "openclaw/plugin-sdk/account-resolution";
import type { SlackAccountSurfaceFields } from "./account-surface-fields.js";
import { type SlackTokenSource } from "./accounts.js";
import type { SlackAccountConfig } from "./runtime-api.js";
export type SlackCredentialStatus = "available" | "configured_unavailable" | "missing";
export type InspectedSlackAccount = {
    accountId: string;
    enabled: boolean;
    name?: string;
    mode?: SlackAccountConfig["mode"];
    botToken?: string;
    appToken?: string;
    signingSecret?: string;
    userToken?: string;
    botTokenSource: SlackTokenSource;
    appTokenSource: SlackTokenSource;
    signingSecretSource?: SlackTokenSource;
    userTokenSource: SlackTokenSource;
    botTokenStatus: SlackCredentialStatus;
    appTokenStatus: SlackCredentialStatus;
    signingSecretStatus?: SlackCredentialStatus;
    userTokenStatus: SlackCredentialStatus;
    configured: boolean;
    config: SlackAccountConfig;
} & SlackAccountSurfaceFields;
export declare function inspectSlackAccount(params: {
    cfg: OpenClawConfig;
    accountId?: string | null;
    envBotToken?: string | null;
    envAppToken?: string | null;
    envUserToken?: string | null;
}): InspectedSlackAccount;
