import { z } from 'zod';
export declare const ActivityWebhookTopicSchema: z.ZodEnum<{
    ready: "ready";
    permission_request: "permission_request";
    user_action_request: "user_action_request";
}>;
export type ActivityWebhookTopic = z.infer<typeof ActivityWebhookTopicSchema>;
export declare const ActivityWebhookPayloadV1Schema: z.ZodObject<{
    v: z.ZodDefault<z.ZodLiteral<1>>;
    channelId: z.ZodString;
    createdAt: z.ZodNumber;
    topic: z.ZodEnum<{
        ready: "ready";
        permission_request: "permission_request";
        user_action_request: "user_action_request";
    }>;
    content: z.ZodObject<{
        title: z.ZodString;
        body: z.ZodString;
    }, z.core.$strip>;
    session: z.ZodOptional<z.ZodObject<{
        sessionId: z.ZodString;
        title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$strip>>;
    request: z.ZodOptional<z.ZodObject<{
        requestId: z.ZodString;
        kind: z.ZodEnum<{
            permission: "permission";
            user_action: "user_action";
        }>;
        toolName: z.ZodString;
        toolDetails: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$strip>>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    navigation: z.ZodObject<{
        sessionId: z.ZodOptional<z.ZodString>;
        requestId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
}, z.core.$strip>;
export type ActivityWebhookPayloadV1 = z.infer<typeof ActivityWebhookPayloadV1Schema>;
export declare function buildActivityWebhookPayload(params: Readonly<{
    channelId: string;
    createdAt: number;
    topic: ActivityWebhookTopic;
    content: Readonly<{
        title: string;
        body: string;
    }>;
    session?: Readonly<{
        sessionId: string;
        title?: string | null;
    }> | null;
    request?: Readonly<{
        requestId: string;
        kind: 'permission' | 'user_action';
        toolName: string;
        toolDetails?: string | null;
    }> | null;
    metadata?: Readonly<Record<string, unknown>> | undefined;
}>): ActivityWebhookPayloadV1;
//# sourceMappingURL=webhookPayload.d.ts.map