import { z } from "zod";
export declare const HealthResponse: z.ZodObject<{
    status: z.ZodLiteral<"ok">;
    service: z.ZodString;
    time: z.ZodString;
}, "strip", z.ZodTypeAny, {
    status: "ok";
    service: string;
    time: string;
}, {
    status: "ok";
    service: string;
    time: string;
}>;
export type HealthResponse = z.infer<typeof HealthResponse>;
export declare const CreateWorkspaceRequest: z.ZodObject<{
    name: z.ZodString;
    slug: z.ZodString;
}, "strip", z.ZodTypeAny, {
    name: string;
    slug: string;
}, {
    name: string;
    slug: string;
}>;
export type CreateWorkspaceRequest = z.infer<typeof CreateWorkspaceRequest>;
export declare const CreateChannelRequest: z.ZodObject<{
    name: z.ZodString;
    type: z.ZodEnum<["public", "private"]>;
    topic: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "public" | "private";
    name: string;
    topic?: string | undefined;
}, {
    type: "public" | "private";
    name: string;
    topic?: string | undefined;
}>;
export type CreateChannelRequest = z.infer<typeof CreateChannelRequest>;
export declare const ChannelsListResponse: z.ZodObject<{
    channels: z.ZodArray<z.ZodObject<{
        id: z.ZodNumber;
        workspaceId: z.ZodNumber;
        type: z.ZodEnum<["public", "private", "dm", "group_dm"]>;
        name: z.ZodNullable<z.ZodString>;
        topic: z.ZodNullable<z.ZodString>;
        purpose: z.ZodNullable<z.ZodString>;
        createdBy: z.ZodNumber;
        isArchived: z.ZodBoolean;
        lastMessageAt: z.ZodNullable<z.ZodString>;
        memberCount: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        type: "public" | "private" | "dm" | "group_dm";
        id: number;
        name: string | null;
        workspaceId: number;
        topic: string | null;
        purpose: string | null;
        createdBy: number;
        isArchived: boolean;
        lastMessageAt: string | null;
        memberCount: number;
    }, {
        type: "public" | "private" | "dm" | "group_dm";
        id: number;
        name: string | null;
        workspaceId: number;
        topic: string | null;
        purpose: string | null;
        createdBy: number;
        isArchived: boolean;
        lastMessageAt: string | null;
        memberCount: number;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    channels: {
        type: "public" | "private" | "dm" | "group_dm";
        id: number;
        name: string | null;
        workspaceId: number;
        topic: string | null;
        purpose: string | null;
        createdBy: number;
        isArchived: boolean;
        lastMessageAt: string | null;
        memberCount: number;
    }[];
}, {
    channels: {
        type: "public" | "private" | "dm" | "group_dm";
        id: number;
        name: string | null;
        workspaceId: number;
        topic: string | null;
        purpose: string | null;
        createdBy: number;
        isArchived: boolean;
        lastMessageAt: string | null;
        memberCount: number;
    }[];
}>;
export declare const ScrollbackQuery: z.ZodObject<{
    afterSeq: z.ZodOptional<z.ZodNumber>;
    beforeSeq: z.ZodOptional<z.ZodNumber>;
    limit: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    limit: number;
    afterSeq?: number | undefined;
    beforeSeq?: number | undefined;
}, {
    limit?: number | undefined;
    afterSeq?: number | undefined;
    beforeSeq?: number | undefined;
}>;
export type ScrollbackQuery = z.infer<typeof ScrollbackQuery>;
export declare const ScrollbackResponse: z.ZodObject<{
    messages: z.ZodArray<z.ZodObject<{
        id: z.ZodNumber;
        workspaceId: z.ZodNumber;
        channelId: z.ZodNumber;
        seq: z.ZodNumber;
        clientMsgId: z.ZodString;
        authorId: z.ZodNumber;
        type: z.ZodEnum<["text", "system"]>;
        text: z.ZodString;
        blocks: z.ZodDiscriminatedUnion<"v", [z.ZodObject<{
            v: z.ZodLiteral<1>;
            doc: z.ZodRecord<z.ZodString, z.ZodUnknown>;
            forwardedMessage: z.ZodOptional<z.ZodObject<{
                messageId: z.ZodNumber;
                channelId: z.ZodNumber;
                parentId: z.ZodNullable<z.ZodNumber>;
                channelName: z.ZodNullable<z.ZodString>;
                channelType: z.ZodEnum<["public", "private", "dm", "group_dm"]>;
                authorId: z.ZodNumber;
                authorName: z.ZodString;
                authorAvatarUrl: z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodString]>>;
                text: z.ZodString;
                createdAt: z.ZodString;
                attachmentNames: z.ZodArray<z.ZodString, "many">;
            }, "strip", z.ZodTypeAny, {
                createdAt: string;
                messageId: number;
                channelId: number;
                parentId: number | null;
                channelName: string | null;
                channelType: "public" | "private" | "dm" | "group_dm";
                authorId: number;
                authorName: string;
                authorAvatarUrl: string | null;
                text: string;
                attachmentNames: string[];
            }, {
                createdAt: string;
                messageId: number;
                channelId: number;
                parentId: number | null;
                channelName: string | null;
                channelType: "public" | "private" | "dm" | "group_dm";
                authorId: number;
                authorName: string;
                authorAvatarUrl: string | null;
                text: string;
                attachmentNames: string[];
            }>>;
        }, "strip", z.ZodTypeAny, {
            v: 1;
            doc: Record<string, unknown>;
            forwardedMessage?: {
                createdAt: string;
                messageId: number;
                channelId: number;
                parentId: number | null;
                channelName: string | null;
                channelType: "public" | "private" | "dm" | "group_dm";
                authorId: number;
                authorName: string;
                authorAvatarUrl: string | null;
                text: string;
                attachmentNames: string[];
            } | undefined;
        }, {
            v: 1;
            doc: Record<string, unknown>;
            forwardedMessage?: {
                createdAt: string;
                messageId: number;
                channelId: number;
                parentId: number | null;
                channelName: string | null;
                channelType: "public" | "private" | "dm" | "group_dm";
                authorId: number;
                authorName: string;
                authorAvatarUrl: string | null;
                text: string;
                attachmentNames: string[];
            } | undefined;
        }>]>;
        revision: z.ZodNumber;
        parentId: z.ZodNullable<z.ZodNumber>;
        isBroadcast: z.ZodBoolean;
        threadReplyCount: z.ZodNumber;
        threadLastReplyAt: z.ZodNullable<z.ZodString>;
        editedAt: z.ZodNullable<z.ZodString>;
        deletedAt: z.ZodNullable<z.ZodString>;
        createdAt: z.ZodString;
        reactions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            emoji: z.ZodString;
            count: z.ZodNumber;
            reactedByMe: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            emoji: string;
            count: number;
            reactedByMe: boolean;
        }, {
            emoji: string;
            count: number;
            reactedByMe: boolean;
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        type: "text" | "system";
        id: number;
        createdAt: string;
        workspaceId: number;
        channelId: number;
        parentId: number | null;
        authorId: number;
        text: string;
        seq: number;
        clientMsgId: string;
        blocks: {
            v: 1;
            doc: Record<string, unknown>;
            forwardedMessage?: {
                createdAt: string;
                messageId: number;
                channelId: number;
                parentId: number | null;
                channelName: string | null;
                channelType: "public" | "private" | "dm" | "group_dm";
                authorId: number;
                authorName: string;
                authorAvatarUrl: string | null;
                text: string;
                attachmentNames: string[];
            } | undefined;
        };
        revision: number;
        isBroadcast: boolean;
        threadReplyCount: number;
        threadLastReplyAt: string | null;
        editedAt: string | null;
        deletedAt: string | null;
        reactions?: {
            emoji: string;
            count: number;
            reactedByMe: boolean;
        }[] | undefined;
    }, {
        type: "text" | "system";
        id: number;
        createdAt: string;
        workspaceId: number;
        channelId: number;
        parentId: number | null;
        authorId: number;
        text: string;
        seq: number;
        clientMsgId: string;
        blocks: {
            v: 1;
            doc: Record<string, unknown>;
            forwardedMessage?: {
                createdAt: string;
                messageId: number;
                channelId: number;
                parentId: number | null;
                channelName: string | null;
                channelType: "public" | "private" | "dm" | "group_dm";
                authorId: number;
                authorName: string;
                authorAvatarUrl: string | null;
                text: string;
                attachmentNames: string[];
            } | undefined;
        };
        revision: number;
        isBroadcast: boolean;
        threadReplyCount: number;
        threadLastReplyAt: string | null;
        editedAt: string | null;
        deletedAt: string | null;
        reactions?: {
            emoji: string;
            count: number;
            reactedByMe: boolean;
        }[] | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    messages: {
        type: "text" | "system";
        id: number;
        createdAt: string;
        workspaceId: number;
        channelId: number;
        parentId: number | null;
        authorId: number;
        text: string;
        seq: number;
        clientMsgId: string;
        blocks: {
            v: 1;
            doc: Record<string, unknown>;
            forwardedMessage?: {
                createdAt: string;
                messageId: number;
                channelId: number;
                parentId: number | null;
                channelName: string | null;
                channelType: "public" | "private" | "dm" | "group_dm";
                authorId: number;
                authorName: string;
                authorAvatarUrl: string | null;
                text: string;
                attachmentNames: string[];
            } | undefined;
        };
        revision: number;
        isBroadcast: boolean;
        threadReplyCount: number;
        threadLastReplyAt: string | null;
        editedAt: string | null;
        deletedAt: string | null;
        reactions?: {
            emoji: string;
            count: number;
            reactedByMe: boolean;
        }[] | undefined;
    }[];
}, {
    messages: {
        type: "text" | "system";
        id: number;
        createdAt: string;
        workspaceId: number;
        channelId: number;
        parentId: number | null;
        authorId: number;
        text: string;
        seq: number;
        clientMsgId: string;
        blocks: {
            v: 1;
            doc: Record<string, unknown>;
            forwardedMessage?: {
                createdAt: string;
                messageId: number;
                channelId: number;
                parentId: number | null;
                channelName: string | null;
                channelType: "public" | "private" | "dm" | "group_dm";
                authorId: number;
                authorName: string;
                authorAvatarUrl: string | null;
                text: string;
                attachmentNames: string[];
            } | undefined;
        };
        revision: number;
        isBroadcast: boolean;
        threadReplyCount: number;
        threadLastReplyAt: string | null;
        editedAt: string | null;
        deletedAt: string | null;
        reactions?: {
            emoji: string;
            count: number;
            reactedByMe: boolean;
        }[] | undefined;
    }[];
}>;
export declare const ChannelIdParam: z.ZodObject<{
    channelId: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    channelId: number;
}, {
    channelId: number;
}>;
export declare const PushSubscribeRequest: z.ZodObject<{
    endpoint: z.ZodString;
    keys: z.ZodObject<{
        p256dh: z.ZodString;
        auth: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        p256dh: string;
        auth: string;
    }, {
        p256dh: string;
        auth: string;
    }>;
    userAgent: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    keys: {
        p256dh: string;
        auth: string;
    };
    endpoint: string;
    userAgent?: string | undefined;
}, {
    keys: {
        p256dh: string;
        auth: string;
    };
    endpoint: string;
    userAgent?: string | undefined;
}>;
export type PushSubscribeRequest = z.infer<typeof PushSubscribeRequest>;
export declare const PushUnsubscribeRequest: z.ZodObject<{
    endpoint: z.ZodString;
}, "strip", z.ZodTypeAny, {
    endpoint: string;
}, {
    endpoint: string;
}>;
export type PushUnsubscribeRequest = z.infer<typeof PushUnsubscribeRequest>;
//# sourceMappingURL=http.d.ts.map