export type ExecApprovalInitiatingSurfaceState = {
    kind: "active";
    channel?: string;
    channelLabel?: string;
    accountId?: string;
} | {
    kind: "disabled";
    channel?: string;
    channelLabel?: string;
    accountId?: string;
} | {
    kind: "unsupported";
    channel?: string;
    channelLabel?: string;
    accountId?: string;
};
type ExecApprovalDmConfig = {
    enabled?: boolean;
    approvers?: Array<string | number>;
    target?: "dm" | "channel" | "both";
};
type DiscordExecApprovalConfigLike = {
    execApprovals?: ExecApprovalDmConfig;
    accounts?: Record<string, {
        execApprovals?: ExecApprovalDmConfig;
    } | undefined>;
};
type ConfigLike = {
    channels?: {
        discord?: DiscordExecApprovalConfigLike;
    };
};
export declare function hasConfiguredExecApprovalDmRoute(config: ConfigLike): boolean;
export declare function resolveExecApprovalInitiatingSurfaceState(params: {
    channel?: string | null;
    accountId?: string | null;
}): ExecApprovalInitiatingSurfaceState;
export {};
