import { z } from 'zod';
import { CredentialType } from '@bubblelab/shared-schemas';
export declare const SlabUserSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
}, "strip", z.ZodTypeAny, {
    name: string;
    id: string;
}, {
    name: string;
    id: string;
}>;
export declare const SlabTopicSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
}, "strip", z.ZodTypeAny, {
    name: string;
    id: string;
}, {
    name: string;
    id: string;
}>;
export declare const SlabPostSchema: z.ZodObject<{
    id: z.ZodString;
    title: z.ZodString;
    content: z.ZodNullable<z.ZodOptional<z.ZodUnknown>>;
    insertedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    publishedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    updatedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    archivedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    owner: z.ZodNullable<z.ZodOptional<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        id: string;
    }, {
        name: string;
        id: string;
    }>>>;
    version: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
    topics: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        id: string;
    }, {
        name: string;
        id: string;
    }>, "many">>>;
}, "strip", z.ZodTypeAny, {
    title: string;
    id: string;
    content?: unknown;
    version?: number | null | undefined;
    owner?: {
        name: string;
        id: string;
    } | null | undefined;
    publishedAt?: string | null | undefined;
    updatedAt?: string | null | undefined;
    insertedAt?: string | null | undefined;
    archivedAt?: string | null | undefined;
    topics?: {
        name: string;
        id: string;
    }[] | null | undefined;
}, {
    title: string;
    id: string;
    content?: unknown;
    version?: number | null | undefined;
    owner?: {
        name: string;
        id: string;
    } | null | undefined;
    publishedAt?: string | null | undefined;
    updatedAt?: string | null | undefined;
    insertedAt?: string | null | undefined;
    archivedAt?: string | null | undefined;
    topics?: {
        name: string;
        id: string;
    }[] | null | undefined;
}>;
export declare const SlabSearchResultSchema: z.ZodObject<{
    id: z.ZodString;
    title: z.ZodString;
    highlight: z.ZodNullable<z.ZodOptional<z.ZodUnknown>>;
    content: z.ZodNullable<z.ZodOptional<z.ZodUnknown>>;
    insertedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    publishedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    owner: z.ZodNullable<z.ZodOptional<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        id: string;
    }, {
        name: string;
        id: string;
    }>>>;
    topics: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        id: string;
    }, {
        name: string;
        id: string;
    }>, "many">>>;
}, "strip", z.ZodTypeAny, {
    title: string;
    id: string;
    content?: unknown;
    owner?: {
        name: string;
        id: string;
    } | null | undefined;
    publishedAt?: string | null | undefined;
    insertedAt?: string | null | undefined;
    topics?: {
        name: string;
        id: string;
    }[] | null | undefined;
    highlight?: unknown;
}, {
    title: string;
    id: string;
    content?: unknown;
    owner?: {
        name: string;
        id: string;
    } | null | undefined;
    publishedAt?: string | null | undefined;
    insertedAt?: string | null | undefined;
    topics?: {
        name: string;
        id: string;
    }[] | null | undefined;
    highlight?: unknown;
}>;
export declare const SlabParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{
    operation: z.ZodLiteral<"search_posts">;
    query: z.ZodString;
    first: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    after: z.ZodOptional<z.ZodString>;
    credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    query: string;
    operation: "search_posts";
    first: number;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
    after?: string | undefined;
}, {
    query: string;
    operation: "search_posts";
    credentials?: Partial<Record<CredentialType, string>> | undefined;
    after?: string | undefined;
    first?: number | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"get_post">;
    post_id: z.ZodString;
    credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    operation: "get_post";
    post_id: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
}, {
    operation: "get_post";
    post_id: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"list_posts">;
    credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    operation: "list_posts";
    credentials?: Partial<Record<CredentialType, string>> | undefined;
}, {
    operation: "list_posts";
    credentials?: Partial<Record<CredentialType, string>> | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"get_topic_posts">;
    topic_id: z.ZodString;
    credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    operation: "get_topic_posts";
    topic_id: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
}, {
    operation: "get_topic_posts";
    topic_id: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"list_topics">;
    credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    operation: "list_topics";
    credentials?: Partial<Record<CredentialType, string>> | undefined;
}, {
    operation: "list_topics";
    credentials?: Partial<Record<CredentialType, string>> | undefined;
}>]>;
export declare const SlabResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{
    operation: z.ZodLiteral<"search_posts">;
    success: z.ZodBoolean;
    posts: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        title: z.ZodString;
        highlight: z.ZodNullable<z.ZodOptional<z.ZodUnknown>>;
        content: z.ZodNullable<z.ZodOptional<z.ZodUnknown>>;
        insertedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        publishedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        owner: z.ZodNullable<z.ZodOptional<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
            id: string;
        }, {
            name: string;
            id: string;
        }>>>;
        topics: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
            id: string;
        }, {
            name: string;
            id: string;
        }>, "many">>>;
    }, "strip", z.ZodTypeAny, {
        title: string;
        id: string;
        content?: unknown;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
        highlight?: unknown;
    }, {
        title: string;
        id: string;
        content?: unknown;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
        highlight?: unknown;
    }>, "many">>;
    has_more: z.ZodOptional<z.ZodBoolean>;
    end_cursor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    error: z.ZodString;
}, "strip", z.ZodTypeAny, {
    error: string;
    success: boolean;
    operation: "search_posts";
    has_more?: boolean | undefined;
    posts?: {
        title: string;
        id: string;
        content?: unknown;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
        highlight?: unknown;
    }[] | undefined;
    end_cursor?: string | null | undefined;
}, {
    error: string;
    success: boolean;
    operation: "search_posts";
    has_more?: boolean | undefined;
    posts?: {
        title: string;
        id: string;
        content?: unknown;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
        highlight?: unknown;
    }[] | undefined;
    end_cursor?: string | null | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"get_post">;
    success: z.ZodBoolean;
    post: z.ZodOptional<z.ZodObject<{
        id: z.ZodString;
        title: z.ZodString;
        content: z.ZodNullable<z.ZodOptional<z.ZodUnknown>>;
        insertedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        publishedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        updatedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        archivedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        owner: z.ZodNullable<z.ZodOptional<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
            id: string;
        }, {
            name: string;
            id: string;
        }>>>;
        version: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
        topics: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
            id: string;
        }, {
            name: string;
            id: string;
        }>, "many">>>;
    }, "strip", z.ZodTypeAny, {
        title: string;
        id: string;
        content?: unknown;
        version?: number | null | undefined;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        updatedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        archivedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
    }, {
        title: string;
        id: string;
        content?: unknown;
        version?: number | null | undefined;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        updatedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        archivedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
    }>>;
    error: z.ZodString;
}, "strip", z.ZodTypeAny, {
    error: string;
    success: boolean;
    operation: "get_post";
    post?: {
        title: string;
        id: string;
        content?: unknown;
        version?: number | null | undefined;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        updatedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        archivedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
    } | undefined;
}, {
    error: string;
    success: boolean;
    operation: "get_post";
    post?: {
        title: string;
        id: string;
        content?: unknown;
        version?: number | null | undefined;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        updatedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        archivedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
    } | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"list_posts">;
    success: z.ZodBoolean;
    posts: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        title: z.ZodString;
        content: z.ZodNullable<z.ZodOptional<z.ZodUnknown>>;
        insertedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        publishedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        updatedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        archivedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        owner: z.ZodNullable<z.ZodOptional<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
            id: string;
        }, {
            name: string;
            id: string;
        }>>>;
        version: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
        topics: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
            id: string;
        }, {
            name: string;
            id: string;
        }>, "many">>>;
    }, "strip", z.ZodTypeAny, {
        title: string;
        id: string;
        content?: unknown;
        version?: number | null | undefined;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        updatedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        archivedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
    }, {
        title: string;
        id: string;
        content?: unknown;
        version?: number | null | undefined;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        updatedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        archivedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
    }>, "many">>;
    error: z.ZodString;
}, "strip", z.ZodTypeAny, {
    error: string;
    success: boolean;
    operation: "list_posts";
    posts?: {
        title: string;
        id: string;
        content?: unknown;
        version?: number | null | undefined;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        updatedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        archivedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
    }[] | undefined;
}, {
    error: string;
    success: boolean;
    operation: "list_posts";
    posts?: {
        title: string;
        id: string;
        content?: unknown;
        version?: number | null | undefined;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        updatedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        archivedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
    }[] | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"get_topic_posts">;
    success: z.ZodBoolean;
    posts: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        title: z.ZodString;
        content: z.ZodNullable<z.ZodOptional<z.ZodUnknown>>;
        insertedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        publishedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        updatedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        archivedAt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        owner: z.ZodNullable<z.ZodOptional<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
            id: string;
        }, {
            name: string;
            id: string;
        }>>>;
        version: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
        topics: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
            id: string;
        }, {
            name: string;
            id: string;
        }>, "many">>>;
    }, "strip", z.ZodTypeAny, {
        title: string;
        id: string;
        content?: unknown;
        version?: number | null | undefined;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        updatedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        archivedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
    }, {
        title: string;
        id: string;
        content?: unknown;
        version?: number | null | undefined;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        updatedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        archivedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
    }>, "many">>;
    error: z.ZodString;
}, "strip", z.ZodTypeAny, {
    error: string;
    success: boolean;
    operation: "get_topic_posts";
    posts?: {
        title: string;
        id: string;
        content?: unknown;
        version?: number | null | undefined;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        updatedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        archivedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
    }[] | undefined;
}, {
    error: string;
    success: boolean;
    operation: "get_topic_posts";
    posts?: {
        title: string;
        id: string;
        content?: unknown;
        version?: number | null | undefined;
        owner?: {
            name: string;
            id: string;
        } | null | undefined;
        publishedAt?: string | null | undefined;
        updatedAt?: string | null | undefined;
        insertedAt?: string | null | undefined;
        archivedAt?: string | null | undefined;
        topics?: {
            name: string;
            id: string;
        }[] | null | undefined;
    }[] | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"list_topics">;
    success: z.ZodBoolean;
    topics: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        id: string;
    }, {
        name: string;
        id: string;
    }>, "many">>;
    error: z.ZodString;
}, "strip", z.ZodTypeAny, {
    error: string;
    success: boolean;
    operation: "list_topics";
    topics?: {
        name: string;
        id: string;
    }[] | undefined;
}, {
    error: string;
    success: boolean;
    operation: "list_topics";
    topics?: {
        name: string;
        id: string;
    }[] | undefined;
}>]>;
export type SlabParamsInput = z.input<typeof SlabParamsSchema>;
export type SlabParams = z.output<typeof SlabParamsSchema>;
export type SlabResult = z.output<typeof SlabResultSchema>;
export type SlabUser = z.output<typeof SlabUserSchema>;
export type SlabTopic = z.output<typeof SlabTopicSchema>;
export type SlabPost = z.output<typeof SlabPostSchema>;
export type SlabSearchResult = z.output<typeof SlabSearchResultSchema>;
export type SlabSearchPostsParams = Extract<SlabParams, {
    operation: 'search_posts';
}>;
export type SlabGetPostParams = Extract<SlabParams, {
    operation: 'get_post';
}>;
export type SlabListPostsParams = Extract<SlabParams, {
    operation: 'list_posts';
}>;
export type SlabGetTopicPostsParams = Extract<SlabParams, {
    operation: 'get_topic_posts';
}>;
export type SlabListTopicsParams = Extract<SlabParams, {
    operation: 'list_topics';
}>;
//# sourceMappingURL=slab.schema.d.ts.map