import { z } from 'zod';
import { type ErrorResponseBody } from '../../request-response';
export declare const WebhookEventType: {
    readonly SITE_PUBLISHED: "site.published";
};
export declare const sitePublishedWebhookPayloadSchema: z.ZodObject<{
    type: z.ZodLiteral<"site.published">;
    data: z.ZodObject<{
        siteId: z.ZodString;
        publish: z.ZodObject<{
            from: z.ZodNullable<z.ZodString>;
            to: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            to: string;
            from: string | null;
        }, {
            to: string;
            from: string | null;
        }>;
        at: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        at: number;
        siteId: string;
        publish: {
            to: string;
            from: string | null;
        };
    }, {
        at: number;
        siteId: string;
        publish: {
            to: string;
            from: string | null;
        };
    }>;
}, "strip", z.ZodTypeAny, {
    type: "site.published";
    data: {
        at: number;
        siteId: string;
        publish: {
            to: string;
            from: string | null;
        };
    };
}, {
    type: "site.published";
    data: {
        at: number;
        siteId: string;
        publish: {
            to: string;
            from: string | null;
        };
    };
}>;
export type SitePublishedWebhookPayload = z.infer<typeof sitePublishedWebhookPayloadSchema>;
declare const webhookPayloadSchema: z.ZodObject<{
    type: z.ZodLiteral<"site.published">;
    data: z.ZodObject<{
        siteId: z.ZodString;
        publish: z.ZodObject<{
            from: z.ZodNullable<z.ZodString>;
            to: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            to: string;
            from: string | null;
        }, {
            to: string;
            from: string | null;
        }>;
        at: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        at: number;
        siteId: string;
        publish: {
            to: string;
            from: string | null;
        };
    }, {
        at: number;
        siteId: string;
        publish: {
            to: string;
            from: string | null;
        };
    }>;
}, "strip", z.ZodTypeAny, {
    type: "site.published";
    data: {
        at: number;
        siteId: string;
        publish: {
            to: string;
            from: string | null;
        };
    };
}, {
    type: "site.published";
    data: {
        at: number;
        siteId: string;
        publish: {
            to: string;
            from: string | null;
        };
    };
}>;
export type WebhookPayloadSchema = z.infer<typeof webhookPayloadSchema>;
type WebhookSuccessBody = {
    success: true;
};
export type WebhookResponseBody = WebhookSuccessBody | ErrorResponseBody;
export type WebhookHandlerResult = {
    body: WebhookResponseBody;
    status: 200;
};
export type OnPublish = () => void | Promise<void>;
export {};
//# sourceMappingURL=types.d.ts.map