import { ExplorePublication, ExplorePublicationRequest, ExplorePublicationsWhere } from '@lens-protocol/api-bindings';
import { PaginatedArgs, PaginatedReadResult } from "../helpers/reads.js";
import { SuspenseEnabled, SuspensePaginatedResult } from "../helpers/suspense.js";
/**
 * {@link useExplorePublications} hook arguments
 */
export type UseExplorePublicationsArgs = PaginatedArgs<ExplorePublicationRequest>;
export type { ExplorePublicationRequest, ExplorePublicationsWhere };
/**
 * {@link useExplorePublications} hook arguments with Suspense support
 *
 * @experimental This API can change without notice
 */
export type UseSuspenseExplorePublicationsArgs = SuspenseEnabled<UseExplorePublicationsArgs>;
/**
 * Discover new publications base on a defined criteria.
 *
 * ```tsx
 * const { data, error, loading } = useExplorePublications(
 *   where: {
 *     publicationTypes: [ExplorePublicationType.Post],
 *   },
 *   orderBy: ExplorePublicationsOrderByType.TopCommented,
 * );
 *
 * if (loading) return <Loader />;
 *
 * if (error) return <Error message={error.message} />;
 *
 * return (
 *   <>
 *     {data.map((publication) => (
 *       <PublicationCard key={publication.id} publication={publication} />
 *     ))}
 *   </>
 * );
 * ```
 *
 * @category Discovery
 * @group Hooks
 */
export declare function useExplorePublications(args?: UseExplorePublicationsArgs): PaginatedReadResult<ExplorePublication[]>;
/**
 * Discover new publications base on a defined criteria.
 *
 * This signature supports [React Suspense](https://react.dev/reference/react/Suspense).
 *
 * ```ts
 * const { data } = useExplorePublications(
 *   where: {
 *     publicationTypes: [ExplorePublicationType.Post],
 *   },
 *   orderBy: ExplorePublicationsOrderByType.TopCommented,
 *   suspense: true,
 * );
 *
 * console.log(data);
 * ```
 *
 * @experimental This API can change without notice
 * @category Discovery
 * @group Hooks
 */
export declare function useExplorePublications(args: UseSuspenseExplorePublicationsArgs): SuspensePaginatedResult<ExplorePublication[]>;
