import { ArtifactStore, type ArtifactAttachment } from '../../artifacts/index.js';
import { ConfigManager } from '../../config/manager.js';
import { ServiceRegistry } from '../../config/service-registry.js';
import type { ChannelDeliveryRequest, ChannelDeliveryResult, ChannelDeliverySurfaceKind, ChannelDeliveryTarget } from './types.js';
export declare function resolveChannelDeliverySurfaceKind(target: ChannelDeliveryTarget): ChannelDeliverySurfaceKind | undefined;
export declare function titleFromBody(body: string): string;
export declare function success(responseId?: string): ChannelDeliveryResult;
export declare function resolveAttachments(request: ChannelDeliveryRequest, artifactStore: ArtifactStore, configManager: ConfigManager, inlineLimitBytes?: number): Promise<ArtifactAttachment[]>;
export declare function appendAttachmentSummary(body: string, attachments: readonly ArtifactAttachment[]): string;
export declare function trimForSurface(body: string, maxChars: number): string;
export declare function firstNonEmpty(...values: Array<string | undefined | null>): string | undefined;
export declare function normalizeBaseUrl(value: string): string;
export declare function resolveMSTeamsAccessToken(configManager: ConfigManager, serviceRegistry: ServiceRegistry): Promise<string>;
export declare function extractResponseId(payload: unknown): string | undefined;
export declare function requireOkResponse(label: string, response: Response): Promise<unknown>;
export declare function postBridgePayload(bridgeUrl: string, payload: Record<string, unknown>, options: {
    readonly label: string;
    readonly token?: string | undefined;
}): Promise<string | undefined>;
//# sourceMappingURL=shared.d.ts.map