/**
 * Farcaster API V2
 * The Farcaster API allows you to interact with the Farcaster protocol. See the [Neynar docs](https://docs.neynar.com/reference) for more details.
 *
 * The version of the OpenAPI document: 2.26.1
 * Contact: team@neynar.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { CastComposerActionsListResponse } from '../models';
import type { CastComposerType } from '../models';
import type { CastConversationSortType } from '../models';
import type { CastEmbedCrawlResponse } from '../models';
import type { CastParamType } from '../models';
import type { CastResponse } from '../models';
import type { CastsResponse } from '../models';
import type { CastsSearchResponse } from '../models';
import type { Conversation } from '../models';
import type { DeleteCastReqBody } from '../models';
import type { FollowSortType } from '../models';
import type { OperationResponse } from '../models';
import type { PostCastReqBody } from '../models';
import type { PostCastResponse } from '../models';
/**
 * CastApi - axios parameter creator
 * @export
 */
export declare const CastApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Delete an existing cast. \\ (In order to delete a cast `signer_uuid` must be approved)
     * @summary Delete a cast
     * @param {DeleteCastReqBody} deleteCastReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/delete-cast)
     *
     */
    deleteCast: (deleteCastReqBody: DeleteCastReqBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Fetch multiple casts using their respective hashes.
     * @summary Bulk fetch casts
     * @param {string} casts Hashes of the cast to be retrived (Comma separated, no spaces)
     * @param {number} [viewerFid] adds viewer_context to cast object to show whether viewer has liked or recasted the cast.
     * @param {FetchBulkCastsSortTypeEnum} [sortType] Optional parameter to sort the casts based on different criteria
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<CastsResponse>} A promise that resolves to a `CastsResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-bulk-casts)
     *
     */
    fetchBulkCasts: (casts: string, viewerFid?: number, sortType?: FetchBulkCastsSortTypeEnum, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Fetches all composer actions on Warpcast. You can filter by top or featured.
     * @summary Fetch composer actions
     * @param {CastComposerType} list Type of list to fetch.
     * @param {number} [limit] Number of results to fetch  (Default: 25, Maximum: 25)
     * @param {string} [cursor] Pagination cursor.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<CastComposerActionsListResponse>} A promise that resolves to a `CastComposerActionsListResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-composer-actions)
     *
     */
    fetchComposerActions: (list: CastComposerType, limit?: number, cursor?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Crawls the given URL and returns metadata useful when embedding the URL in a cast.
     * @summary Embedded URL metadata
     * @param {string} [url] URL to crawl metadata of
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<CastEmbedCrawlResponse>} A promise that resolves to a `CastEmbedCrawlResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-embedded-url-metadata)
     *
     */
    fetchEmbeddedUrlMetadata: (url?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Gets information about an individual cast by passing in a Warpcast web URL or cast hash
     * @summary By hash or URL
     * @param {string} identifier Cast identifier (Its either a url or a hash)
     * @param {CastParamType} type
     * @param {number} [viewerFid] adds viewer_context to cast object to show whether viewer has liked or recasted the cast.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<CastResponse>} A promise that resolves to a `CastResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-cast-by-hash-or-warpcast-url)
     *
     */
    lookupCastByHashOrWarpcastUrl: (identifier: string, type: CastParamType, viewerFid?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Gets all casts related to a conversation surrounding a cast by passing in a cast hash or Warpcast URL. Includes all the ancestors of a cast up to the root parent in a chronological order. Includes all direct_replies to the cast up to the reply_depth specified in the query parameter.
     * @summary Conversation for a cast
     * @param {string} identifier Cast identifier (Its either a url or a hash)
     * @param {CastParamType} type
     * @param {number} [replyDepth] The depth of replies in the conversation that will be returned (default 2)
     * @param {boolean} [includeChronologicalParentCasts] Include all parent casts in chronological order
     * @param {number} [viewerFid] Providing this will return a conversation that respects this user\&#39;s mutes and blocks and includes &#x60;viewer_context&#x60;.
     * @param {CastConversationSortType} [sortType] Sort type for the ordering of descendants. Default is &#x60;chron&#x60;
     * @param {LookupCastConversationFoldEnum} [fold] Show conversation above or below the fold. Lower quality responses are hidden below the fold. Not passing in a value shows the full conversation without any folding.
     * @param {number} [limit] Number of results to fetch  (Default: 20, Maximum: 50)
     * @param {string} [cursor] Pagination cursor.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<Conversation>} A promise that resolves to a `Conversation` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-cast-conversation)
     *
     */
    lookupCastConversation: (identifier: string, type: CastParamType, replyDepth?: number, includeChronologicalParentCasts?: boolean, viewerFid?: number, sortType?: CastConversationSortType, fold?: LookupCastConversationFoldEnum, limit?: number, cursor?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Posts a cast or cast reply. Works with mentions and embeds.   (In order to post a cast `signer_uuid` must be approved)
     * @summary Post a cast
     * @param {PostCastReqBody} postCastReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<PostCastResponse>} A promise that resolves to a `PostCastResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/publish-cast)
     *
     */
    publishCast: (postCastReqBody: PostCastReqBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Search for casts based on a query string, with optional AND filters
     * @summary Search for casts
     * @param {string} q Query string to search for casts. Include \&#39;before:YYYY-MM-DD\&#39; or \&#39;after:YYYY-MM-DD\&#39; to search for casts before or after a specific date.
     * @param {SearchCastsModeEnum} [mode] Choices are: - &#x60;literal&#x60; - Searches for the words in the query string (default) - &#x60;semantic&#x60; - Searches for the meaning of the query string - &#x60;hybrid&#x60; - Combines both literal and semantic results
     * @param {FollowSortType} [sortType] Choices are: - &#x60;desc_chron&#x60; - All casts sorted by time (default) - &#x60;algorithmic&#x60; - Casts sorted by engagement and time
     * @param {number} [authorFid] Fid of the user whose casts you want to search
     * @param {number} [viewerFid] Providing this will return search results that respects this user\&#39;s mutes and blocks and includes &#x60;viewer_context&#x60;.
     * @param {string} [parentUrl] Parent URL of the casts you want to search
     * @param {string} [channelId] Channel ID of the casts you want to search
     * @param {boolean} [priorityMode] When true, only returns search results from power badge users and users that the viewer follows (if viewer_fid is provided).
     * @param {number} [limit] Number of results to fetch  (Default: 25, Maximum: 100)
     * @param {string} [cursor] Pagination cursor
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<CastsSearchResponse>} A promise that resolves to a `CastsSearchResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/search-casts)
     *
     */
    searchCasts: (q: string, mode?: SearchCastsModeEnum, sortType?: FollowSortType, authorFid?: number, viewerFid?: number, parentUrl?: string, channelId?: string, priorityMode?: boolean, limit?: number, cursor?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * CastApi - functional programming interface
 * @export
 */
export declare const CastApiFp: (configuration?: Configuration) => {
    /**
     * Delete an existing cast. \\ (In order to delete a cast `signer_uuid` must be approved)
     * @summary Delete a cast
     * @param {DeleteCastReqBody} deleteCastReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/delete-cast)
     *
     */
    deleteCast(deleteCastReqBody: DeleteCastReqBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OperationResponse>>;
    /**
     * Fetch multiple casts using their respective hashes.
     * @summary Bulk fetch casts
     * @param {string} casts Hashes of the cast to be retrived (Comma separated, no spaces)
     * @param {number} [viewerFid] adds viewer_context to cast object to show whether viewer has liked or recasted the cast.
     * @param {FetchBulkCastsSortTypeEnum} [sortType] Optional parameter to sort the casts based on different criteria
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<CastsResponse>} A promise that resolves to a `CastsResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-bulk-casts)
     *
     */
    fetchBulkCasts(casts: string, viewerFid?: number, sortType?: FetchBulkCastsSortTypeEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CastsResponse>>;
    /**
     * Fetches all composer actions on Warpcast. You can filter by top or featured.
     * @summary Fetch composer actions
     * @param {CastComposerType} list Type of list to fetch.
     * @param {number} [limit] Number of results to fetch  (Default: 25, Maximum: 25)
     * @param {string} [cursor] Pagination cursor.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<CastComposerActionsListResponse>} A promise that resolves to a `CastComposerActionsListResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-composer-actions)
     *
     */
    fetchComposerActions(list: CastComposerType, limit?: number, cursor?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CastComposerActionsListResponse>>;
    /**
     * Crawls the given URL and returns metadata useful when embedding the URL in a cast.
     * @summary Embedded URL metadata
     * @param {string} [url] URL to crawl metadata of
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<CastEmbedCrawlResponse>} A promise that resolves to a `CastEmbedCrawlResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-embedded-url-metadata)
     *
     */
    fetchEmbeddedUrlMetadata(url?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CastEmbedCrawlResponse>>;
    /**
     * Gets information about an individual cast by passing in a Warpcast web URL or cast hash
     * @summary By hash or URL
     * @param {string} identifier Cast identifier (Its either a url or a hash)
     * @param {CastParamType} type
     * @param {number} [viewerFid] adds viewer_context to cast object to show whether viewer has liked or recasted the cast.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<CastResponse>} A promise that resolves to a `CastResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-cast-by-hash-or-warpcast-url)
     *
     */
    lookupCastByHashOrWarpcastUrl(identifier: string, type: CastParamType, viewerFid?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CastResponse>>;
    /**
     * Gets all casts related to a conversation surrounding a cast by passing in a cast hash or Warpcast URL. Includes all the ancestors of a cast up to the root parent in a chronological order. Includes all direct_replies to the cast up to the reply_depth specified in the query parameter.
     * @summary Conversation for a cast
     * @param {string} identifier Cast identifier (Its either a url or a hash)
     * @param {CastParamType} type
     * @param {number} [replyDepth] The depth of replies in the conversation that will be returned (default 2)
     * @param {boolean} [includeChronologicalParentCasts] Include all parent casts in chronological order
     * @param {number} [viewerFid] Providing this will return a conversation that respects this user\&#39;s mutes and blocks and includes &#x60;viewer_context&#x60;.
     * @param {CastConversationSortType} [sortType] Sort type for the ordering of descendants. Default is &#x60;chron&#x60;
     * @param {LookupCastConversationFoldEnum} [fold] Show conversation above or below the fold. Lower quality responses are hidden below the fold. Not passing in a value shows the full conversation without any folding.
     * @param {number} [limit] Number of results to fetch  (Default: 20, Maximum: 50)
     * @param {string} [cursor] Pagination cursor.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<Conversation>} A promise that resolves to a `Conversation` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-cast-conversation)
     *
     */
    lookupCastConversation(identifier: string, type: CastParamType, replyDepth?: number, includeChronologicalParentCasts?: boolean, viewerFid?: number, sortType?: CastConversationSortType, fold?: LookupCastConversationFoldEnum, limit?: number, cursor?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Conversation>>;
    /**
     * Posts a cast or cast reply. Works with mentions and embeds.   (In order to post a cast `signer_uuid` must be approved)
     * @summary Post a cast
     * @param {PostCastReqBody} postCastReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<PostCastResponse>} A promise that resolves to a `PostCastResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/publish-cast)
     *
     */
    publishCast(postCastReqBody: PostCastReqBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostCastResponse>>;
    /**
     * Search for casts based on a query string, with optional AND filters
     * @summary Search for casts
     * @param {string} q Query string to search for casts. Include \&#39;before:YYYY-MM-DD\&#39; or \&#39;after:YYYY-MM-DD\&#39; to search for casts before or after a specific date.
     * @param {SearchCastsModeEnum} [mode] Choices are: - &#x60;literal&#x60; - Searches for the words in the query string (default) - &#x60;semantic&#x60; - Searches for the meaning of the query string - &#x60;hybrid&#x60; - Combines both literal and semantic results
     * @param {FollowSortType} [sortType] Choices are: - &#x60;desc_chron&#x60; - All casts sorted by time (default) - &#x60;algorithmic&#x60; - Casts sorted by engagement and time
     * @param {number} [authorFid] Fid of the user whose casts you want to search
     * @param {number} [viewerFid] Providing this will return search results that respects this user\&#39;s mutes and blocks and includes &#x60;viewer_context&#x60;.
     * @param {string} [parentUrl] Parent URL of the casts you want to search
     * @param {string} [channelId] Channel ID of the casts you want to search
     * @param {boolean} [priorityMode] When true, only returns search results from power badge users and users that the viewer follows (if viewer_fid is provided).
     * @param {number} [limit] Number of results to fetch  (Default: 25, Maximum: 100)
     * @param {string} [cursor] Pagination cursor
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<CastsSearchResponse>} A promise that resolves to a `CastsSearchResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/search-casts)
     *
     */
    searchCasts(q: string, mode?: SearchCastsModeEnum, sortType?: FollowSortType, authorFid?: number, viewerFid?: number, parentUrl?: string, channelId?: string, priorityMode?: boolean, limit?: number, cursor?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CastsSearchResponse>>;
};
/**
 * CastApi - factory interface
 * @export
 */
export declare const CastApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Delete an existing cast. \\ (In order to delete a cast `signer_uuid` must be approved)
     * @summary Delete a cast
     * @param {CastApiDeleteCastRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/delete-cast)
     *
     */
    deleteCast(requestParameters: CastApiDeleteCastRequest, options?: RawAxiosRequestConfig): AxiosPromise<OperationResponse>;
    /**
     * Fetch multiple casts using their respective hashes.
     * @summary Bulk fetch casts
     * @param {CastApiFetchBulkCastsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<CastsResponse>} A promise that resolves to a `CastsResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-bulk-casts)
     *
     */
    fetchBulkCasts(requestParameters: CastApiFetchBulkCastsRequest, options?: RawAxiosRequestConfig): AxiosPromise<CastsResponse>;
    /**
     * Fetches all composer actions on Warpcast. You can filter by top or featured.
     * @summary Fetch composer actions
     * @param {CastApiFetchComposerActionsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<CastComposerActionsListResponse>} A promise that resolves to a `CastComposerActionsListResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-composer-actions)
     *
     */
    fetchComposerActions(requestParameters: CastApiFetchComposerActionsRequest, options?: RawAxiosRequestConfig): AxiosPromise<CastComposerActionsListResponse>;
    /**
     * Crawls the given URL and returns metadata useful when embedding the URL in a cast.
     * @summary Embedded URL metadata
     * @param {CastApiFetchEmbeddedUrlMetadataRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<CastEmbedCrawlResponse>} A promise that resolves to a `CastEmbedCrawlResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-embedded-url-metadata)
     *
     */
    fetchEmbeddedUrlMetadata(requestParameters?: CastApiFetchEmbeddedUrlMetadataRequest, options?: RawAxiosRequestConfig): AxiosPromise<CastEmbedCrawlResponse>;
    /**
     * Gets information about an individual cast by passing in a Warpcast web URL or cast hash
     * @summary By hash or URL
     * @param {CastApiLookupCastByHashOrWarpcastUrlRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<CastResponse>} A promise that resolves to a `CastResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-cast-by-hash-or-warpcast-url)
     *
     */
    lookupCastByHashOrWarpcastUrl(requestParameters: CastApiLookupCastByHashOrWarpcastUrlRequest, options?: RawAxiosRequestConfig): AxiosPromise<CastResponse>;
    /**
     * Gets all casts related to a conversation surrounding a cast by passing in a cast hash or Warpcast URL. Includes all the ancestors of a cast up to the root parent in a chronological order. Includes all direct_replies to the cast up to the reply_depth specified in the query parameter.
     * @summary Conversation for a cast
     * @param {CastApiLookupCastConversationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<Conversation>} A promise that resolves to a `Conversation` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-cast-conversation)
     *
     */
    lookupCastConversation(requestParameters: CastApiLookupCastConversationRequest, options?: RawAxiosRequestConfig): AxiosPromise<Conversation>;
    /**
     * Posts a cast or cast reply. Works with mentions and embeds.   (In order to post a cast `signer_uuid` must be approved)
     * @summary Post a cast
     * @param {CastApiPublishCastRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<PostCastResponse>} A promise that resolves to a `PostCastResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/publish-cast)
     *
     */
    publishCast(requestParameters: CastApiPublishCastRequest, options?: RawAxiosRequestConfig): AxiosPromise<PostCastResponse>;
    /**
     * Search for casts based on a query string, with optional AND filters
     * @summary Search for casts
     * @param {CastApiSearchCastsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<CastsSearchResponse>} A promise that resolves to a `CastsSearchResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/search-casts)
     *
     */
    searchCasts(requestParameters: CastApiSearchCastsRequest, options?: RawAxiosRequestConfig): AxiosPromise<CastsSearchResponse>;
};
/**
 * CastApi - interface
 * @export
 * @interface CastApi
 */
export interface CastApiInterface {
    /**
     * Delete an existing cast. \\ (In order to delete a cast `signer_uuid` must be approved)
     * @summary Delete a cast
     * @param {CastApiDeleteCastRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApiInterface
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/delete-cast)
     *
     */
    deleteCast(requestParameters: CastApiDeleteCastRequest, options?: RawAxiosRequestConfig): AxiosPromise<OperationResponse>;
    /**
     * Fetch multiple casts using their respective hashes.
     * @summary Bulk fetch casts
     * @param {CastApiFetchBulkCastsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApiInterface
     * @returns {Promise<CastsResponse>} A promise that resolves to a `CastsResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-bulk-casts)
     *
     */
    fetchBulkCasts(requestParameters: CastApiFetchBulkCastsRequest, options?: RawAxiosRequestConfig): AxiosPromise<CastsResponse>;
    /**
     * Fetches all composer actions on Warpcast. You can filter by top or featured.
     * @summary Fetch composer actions
     * @param {CastApiFetchComposerActionsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApiInterface
     * @returns {Promise<CastComposerActionsListResponse>} A promise that resolves to a `CastComposerActionsListResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-composer-actions)
     *
     */
    fetchComposerActions(requestParameters: CastApiFetchComposerActionsRequest, options?: RawAxiosRequestConfig): AxiosPromise<CastComposerActionsListResponse>;
    /**
     * Crawls the given URL and returns metadata useful when embedding the URL in a cast.
     * @summary Embedded URL metadata
     * @param {CastApiFetchEmbeddedUrlMetadataRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApiInterface
     * @returns {Promise<CastEmbedCrawlResponse>} A promise that resolves to a `CastEmbedCrawlResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-embedded-url-metadata)
     *
     */
    fetchEmbeddedUrlMetadata(requestParameters?: CastApiFetchEmbeddedUrlMetadataRequest, options?: RawAxiosRequestConfig): AxiosPromise<CastEmbedCrawlResponse>;
    /**
     * Gets information about an individual cast by passing in a Warpcast web URL or cast hash
     * @summary By hash or URL
     * @param {CastApiLookupCastByHashOrWarpcastUrlRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApiInterface
     * @returns {Promise<CastResponse>} A promise that resolves to a `CastResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-cast-by-hash-or-warpcast-url)
     *
     */
    lookupCastByHashOrWarpcastUrl(requestParameters: CastApiLookupCastByHashOrWarpcastUrlRequest, options?: RawAxiosRequestConfig): AxiosPromise<CastResponse>;
    /**
     * Gets all casts related to a conversation surrounding a cast by passing in a cast hash or Warpcast URL. Includes all the ancestors of a cast up to the root parent in a chronological order. Includes all direct_replies to the cast up to the reply_depth specified in the query parameter.
     * @summary Conversation for a cast
     * @param {CastApiLookupCastConversationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApiInterface
     * @returns {Promise<Conversation>} A promise that resolves to a `Conversation` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-cast-conversation)
     *
     */
    lookupCastConversation(requestParameters: CastApiLookupCastConversationRequest, options?: RawAxiosRequestConfig): AxiosPromise<Conversation>;
    /**
     * Posts a cast or cast reply. Works with mentions and embeds.   (In order to post a cast `signer_uuid` must be approved)
     * @summary Post a cast
     * @param {CastApiPublishCastRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApiInterface
     * @returns {Promise<PostCastResponse>} A promise that resolves to a `PostCastResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/publish-cast)
     *
     */
    publishCast(requestParameters: CastApiPublishCastRequest, options?: RawAxiosRequestConfig): AxiosPromise<PostCastResponse>;
    /**
     * Search for casts based on a query string, with optional AND filters
     * @summary Search for casts
     * @param {CastApiSearchCastsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApiInterface
     * @returns {Promise<CastsSearchResponse>} A promise that resolves to a `CastsSearchResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/search-casts)
     *
     */
    searchCasts(requestParameters: CastApiSearchCastsRequest, options?: RawAxiosRequestConfig): AxiosPromise<CastsSearchResponse>;
}
/**
 * Request parameters for deleteCast operation in CastApi.
 * @export
 * @interface CastApiDeleteCastRequest
 */
export interface CastApiDeleteCastRequest {
    /**
     *
     *
     *
     *
     * @type {DeleteCastReqBody}
     * @memberof CastApiDeleteCast
     */
    readonly deleteCastReqBody: DeleteCastReqBody;
}
/**
 * Request parameters for fetchBulkCasts operation in CastApi.
 * @export
 * @interface CastApiFetchBulkCastsRequest
 */
export interface CastApiFetchBulkCastsRequest {
    /**
     * Hashes of the cast to be retrived (Comma separated, no spaces)
     *
     * @commaSeparated
     *
     * @type {string}
     * @memberof CastApiFetchBulkCasts
     */
    readonly casts: string;
    /**
     * adds viewer_context to cast object to show whether viewer has liked or recasted the cast.
     *
     *
     *
     * @type {number}
     * @memberof CastApiFetchBulkCasts
     */
    readonly viewerFid?: number;
    /**
     * Optional parameter to sort the casts based on different criteria
     *
     *
     *
     * @type {'trending' | 'likes' | 'recasts' | 'replies' | 'recent'}
     * @memberof CastApiFetchBulkCasts
     */
    readonly sortType?: FetchBulkCastsSortTypeEnum;
}
/**
 * Request parameters for fetchComposerActions operation in CastApi.
 * @export
 * @interface CastApiFetchComposerActionsRequest
 */
export interface CastApiFetchComposerActionsRequest {
    /**
     * Type of list to fetch.
     *
     *
     *
     * @type {CastComposerType}
     * @memberof CastApiFetchComposerActions
     */
    readonly list: CastComposerType;
    /**
     * Number of results to fetch (Default: 25, Maximum: 25)
     *
     *
     *
     * @type {number}
     * @memberof CastApiFetchComposerActions
     */
    readonly limit?: number;
    /**
     * Pagination cursor.
     *
     *
     *
     * @type {string}
     * @memberof CastApiFetchComposerActions
     */
    readonly cursor?: string;
}
/**
 * Request parameters for fetchEmbeddedUrlMetadata operation in CastApi.
 * @export
 * @interface CastApiFetchEmbeddedUrlMetadataRequest
 */
export interface CastApiFetchEmbeddedUrlMetadataRequest {
    /**
     * URL to crawl metadata of
     *
     *
     *
     * @type {string}
     * @memberof CastApiFetchEmbeddedUrlMetadata
     */
    readonly url?: string;
}
/**
 * Request parameters for lookupCastByHashOrWarpcastUrl operation in CastApi.
 * @export
 * @interface CastApiLookupCastByHashOrWarpcastUrlRequest
 */
export interface CastApiLookupCastByHashOrWarpcastUrlRequest {
    /**
     * Cast identifier (Its either a url or a hash)
     *
     *
     *
     * @type {string}
     * @memberof CastApiLookupCastByHashOrWarpcastUrl
     */
    readonly identifier: string;
    /**
     *
     *
     *
     *
     * @type {CastParamType}
     * @memberof CastApiLookupCastByHashOrWarpcastUrl
     */
    readonly type: CastParamType;
    /**
     * adds viewer_context to cast object to show whether viewer has liked or recasted the cast.
     *
     *
     *
     * @type {number}
     * @memberof CastApiLookupCastByHashOrWarpcastUrl
     */
    readonly viewerFid?: number;
}
/**
 * Request parameters for lookupCastConversation operation in CastApi.
 * @export
 * @interface CastApiLookupCastConversationRequest
 */
export interface CastApiLookupCastConversationRequest {
    /**
     * Cast identifier (Its either a url or a hash)
     *
     *
     *
     * @type {string}
     * @memberof CastApiLookupCastConversation
     */
    readonly identifier: string;
    /**
     *
     *
     *
     *
     * @type {CastParamType}
     * @memberof CastApiLookupCastConversation
     */
    readonly type: CastParamType;
    /**
     * The depth of replies in the conversation that will be returned (default 2)
     *
     *
     *
     * @type {number}
     * @memberof CastApiLookupCastConversation
     */
    readonly replyDepth?: number;
    /**
     * Include all parent casts in chronological order
     *
     *
     *
     * @type {boolean}
     * @memberof CastApiLookupCastConversation
     */
    readonly includeChronologicalParentCasts?: boolean;
    /**
     * Providing this will return a conversation that respects this user\&#39;s mutes and blocks and includes &#x60;viewer_context&#x60;.
     *
     *
     *
     * @type {number}
     * @memberof CastApiLookupCastConversation
     */
    readonly viewerFid?: number;
    /**
     * Sort type for the ordering of descendants. Default is &#x60;chron&#x60;
     *
     *
     *
     * @type {CastConversationSortType}
     * @memberof CastApiLookupCastConversation
     */
    readonly sortType?: CastConversationSortType;
    /**
     * Show conversation above or below the fold. Lower quality responses are hidden below the fold. Not passing in a value shows the full conversation without any folding.
     *
     *
     *
     * @type {'above' | 'below'}
     * @memberof CastApiLookupCastConversation
     */
    readonly fold?: LookupCastConversationFoldEnum;
    /**
     * Number of results to fetch (Default: 20, Maximum: 50)
     *
     *
     *
     * @type {number}
     * @memberof CastApiLookupCastConversation
     */
    readonly limit?: number;
    /**
     * Pagination cursor.
     *
     *
     *
     * @type {string}
     * @memberof CastApiLookupCastConversation
     */
    readonly cursor?: string;
}
/**
 * Request parameters for publishCast operation in CastApi.
 * @export
 * @interface CastApiPublishCastRequest
 */
export interface CastApiPublishCastRequest {
    /**
     *
     *
     *
     *
     * @type {PostCastReqBody}
     * @memberof CastApiPublishCast
     */
    readonly postCastReqBody: PostCastReqBody;
}
/**
 * Request parameters for searchCasts operation in CastApi.
 * @export
 * @interface CastApiSearchCastsRequest
 */
export interface CastApiSearchCastsRequest {
    /**
     * Query string to search for casts. Include \&#39;before:YYYY-MM-DD\&#39; or \&#39;after:YYYY-MM-DD\&#39; to search for casts before or after a specific date.
     *
     *
     *
     * @type {string}
     * @memberof CastApiSearchCasts
     */
    readonly q: string;
    /**
     * Choices are: - &#x60;literal&#x60; - Searches for the words in the query string (default) - &#x60;semantic&#x60; - Searches for the meaning of the query string - &#x60;hybrid&#x60; - Combines both literal and semantic results
     *
     *
     *
     * @type {'literal' | 'semantic' | 'hybrid'}
     * @memberof CastApiSearchCasts
     */
    readonly mode?: SearchCastsModeEnum;
    /**
     * Choices are: - &#x60;desc_chron&#x60; - All casts sorted by time (default) - &#x60;algorithmic&#x60; - Casts sorted by engagement and time
     *
     *
     *
     * @type {FollowSortType}
     * @memberof CastApiSearchCasts
     */
    readonly sortType?: FollowSortType;
    /**
     * Fid of the user whose casts you want to search
     *
     *
     *
     * @type {number}
     * @memberof CastApiSearchCasts
     */
    readonly authorFid?: number;
    /**
     * Providing this will return search results that respects this user\&#39;s mutes and blocks and includes &#x60;viewer_context&#x60;.
     *
     *
     *
     * @type {number}
     * @memberof CastApiSearchCasts
     */
    readonly viewerFid?: number;
    /**
     * Parent URL of the casts you want to search
     *
     *
     *
     * @type {string}
     * @memberof CastApiSearchCasts
     */
    readonly parentUrl?: string;
    /**
     * Channel ID of the casts you want to search
     *
     *
     *
     * @type {string}
     * @memberof CastApiSearchCasts
     */
    readonly channelId?: string;
    /**
     * When true, only returns search results from power badge users and users that the viewer follows (if viewer_fid is provided).
     *
     *
     *
     * @type {boolean}
     * @memberof CastApiSearchCasts
     */
    readonly priorityMode?: boolean;
    /**
     * Number of results to fetch (Default: 25, Maximum: 100)
     *
     *
     *
     * @type {number}
     * @memberof CastApiSearchCasts
     */
    readonly limit?: number;
    /**
     * Pagination cursor
     *
     *
     *
     * @type {string}
     * @memberof CastApiSearchCasts
     */
    readonly cursor?: string;
}
/**
 * CastApi - object-oriented interface
 * @export
 * @class CastApi
 * @extends {BaseAPI}
 */
export declare class CastApi extends BaseAPI implements CastApiInterface {
    /**
     * Delete an existing cast. \\ (In order to delete a cast `signer_uuid` must be approved)
     * @summary Delete a cast
     * @param {CastApiDeleteCastRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApi
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/delete-cast)
     *
     */
    deleteCast(requestParameters: CastApiDeleteCastRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OperationResponse, any>>;
    /**
     * Fetch multiple casts using their respective hashes.
     * @summary Bulk fetch casts
     * @param {CastApiFetchBulkCastsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApi
     * @returns {Promise<CastsResponse>} A promise that resolves to a `CastsResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-bulk-casts)
     *
     */
    fetchBulkCasts(requestParameters: CastApiFetchBulkCastsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CastsResponse, any>>;
    /**
     * Fetches all composer actions on Warpcast. You can filter by top or featured.
     * @summary Fetch composer actions
     * @param {CastApiFetchComposerActionsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApi
     * @returns {Promise<CastComposerActionsListResponse>} A promise that resolves to a `CastComposerActionsListResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-composer-actions)
     *
     */
    fetchComposerActions(requestParameters: CastApiFetchComposerActionsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CastComposerActionsListResponse, any>>;
    /**
     * Crawls the given URL and returns metadata useful when embedding the URL in a cast.
     * @summary Embedded URL metadata
     * @param {CastApiFetchEmbeddedUrlMetadataRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApi
     * @returns {Promise<CastEmbedCrawlResponse>} A promise that resolves to a `CastEmbedCrawlResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-embedded-url-metadata)
     *
     */
    fetchEmbeddedUrlMetadata(requestParameters?: CastApiFetchEmbeddedUrlMetadataRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CastEmbedCrawlResponse, any>>;
    /**
     * Gets information about an individual cast by passing in a Warpcast web URL or cast hash
     * @summary By hash or URL
     * @param {CastApiLookupCastByHashOrWarpcastUrlRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApi
     * @returns {Promise<CastResponse>} A promise that resolves to a `CastResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-cast-by-hash-or-warpcast-url)
     *
     */
    lookupCastByHashOrWarpcastUrl(requestParameters: CastApiLookupCastByHashOrWarpcastUrlRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CastResponse, any>>;
    /**
     * Gets all casts related to a conversation surrounding a cast by passing in a cast hash or Warpcast URL. Includes all the ancestors of a cast up to the root parent in a chronological order. Includes all direct_replies to the cast up to the reply_depth specified in the query parameter.
     * @summary Conversation for a cast
     * @param {CastApiLookupCastConversationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApi
     * @returns {Promise<Conversation>} A promise that resolves to a `Conversation` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-cast-conversation)
     *
     */
    lookupCastConversation(requestParameters: CastApiLookupCastConversationRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Conversation, any>>;
    /**
     * Posts a cast or cast reply. Works with mentions and embeds.   (In order to post a cast `signer_uuid` must be approved)
     * @summary Post a cast
     * @param {CastApiPublishCastRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApi
     * @returns {Promise<PostCastResponse>} A promise that resolves to a `PostCastResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/publish-cast)
     *
     */
    publishCast(requestParameters: CastApiPublishCastRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PostCastResponse, any>>;
    /**
     * Search for casts based on a query string, with optional AND filters
     * @summary Search for casts
     * @param {CastApiSearchCastsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CastApi
     * @returns {Promise<CastsSearchResponse>} A promise that resolves to a `CastsSearchResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/search-casts)
     *
     */
    searchCasts(requestParameters: CastApiSearchCastsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CastsSearchResponse, any>>;
}
/**
 * @export
 */
export declare const FetchBulkCastsSortTypeEnum: {
    readonly Trending: "trending";
    readonly Likes: "likes";
    readonly Recasts: "recasts";
    readonly Replies: "replies";
    readonly Recent: "recent";
};
export type FetchBulkCastsSortTypeEnum = typeof FetchBulkCastsSortTypeEnum[keyof typeof FetchBulkCastsSortTypeEnum];
/**
 * @export
 */
export declare const LookupCastConversationFoldEnum: {
    readonly Above: "above";
    readonly Below: "below";
};
export type LookupCastConversationFoldEnum = typeof LookupCastConversationFoldEnum[keyof typeof LookupCastConversationFoldEnum];
/**
 * @export
 */
export declare const SearchCastsModeEnum: {
    readonly Literal: "literal";
    readonly Semantic: "semantic";
    readonly Hybrid: "hybrid";
};
export type SearchCastsModeEnum = typeof SearchCastsModeEnum[keyof typeof SearchCastsModeEnum];
