import type { ActivityObserverConfig } from "#channel/types.js";
import type { Session } from "#context/keys.js";
import type { ActivityWorkIdentityV1, ActivityWorkKind } from "#protocol/activity.js";
export declare function deriveRootTurnWorkIdentity(session: Session): ActivityWorkIdentityV1;
export declare function deriveBackgroundTaskActivityObserver(input: {
    readonly activityObserver: ActivityObserverConfig | undefined;
    readonly callId: string;
    readonly name: string;
    readonly parentSessionId: string;
    readonly parentTurnId: string;
    readonly rootSessionId: string;
}): ActivityObserverConfig | undefined;
export declare function deriveChildActivityObserverConfig(input: {
    readonly callId: string;
    readonly kind: Exclude<ActivityWorkKind, "root-turn">;
    readonly name: string;
    readonly parentSessionId: string;
    readonly parentTurnId: string;
    readonly activityObserver: ActivityObserverConfig | undefined;
}): ActivityObserverConfig | undefined;
export declare function deriveChildWorkIdentity(input: {
    readonly callId: string;
    readonly kind: Exclude<ActivityWorkKind, "root-turn">;
    readonly name: string;
    readonly parentSessionId: string;
    readonly parentTurnId: string;
    readonly parentWork: ActivityWorkIdentityV1;
}): ActivityWorkIdentityV1;
