import { BatchId, Ky, Reference, ReferenceResponse, Topic } from '../types';
import { FeedType } from '../feed/type';
import { HexEthAddress } from '../utils/eth';
export interface CreateFeedOptions {
    type?: FeedType;
}
export interface FeedUpdateOptions {
    /**
     * Specifies the start date as unix time stamp
     */
    at?: number;
    /**
     * Can be 'epoch' or 'sequence' (default: 'sequence')
     */
    type?: FeedType;
    /**
     * Fetch specific previous Feed's update (default fetches latest update)
     */
    index?: string;
}
interface FeedUpdateHeaders {
    /**
     * The current feed's index
     */
    feedIndex: string;
    /**
     * The feed's index for next update.
     * Only set for the latest update. If update is fetched using previous index, then this is an empty string.
     */
    feedIndexNext: string;
}
export interface FetchFeedUpdateResponse extends ReferenceResponse, FeedUpdateHeaders {
}
/**
 * Create an initial feed root manifest
 *
 * @param ky Ky instance
 * @param owner           Owner's ethereum address in hex
 * @param topic           Topic in hex
 * @param postageBatchId  Postage BatchId to be used to create the Feed Manifest
 * @param options         Additional options, like type (default: 'sequence')
 */
export declare function createFeedManifest(ky: Ky, owner: HexEthAddress, topic: Topic, postageBatchId: BatchId, options?: CreateFeedOptions): Promise<Reference>;
/**
 * Find and retrieve feed update
 *
 * The feed consists of updates. This endpoint looks up an
 * update that matches the provided parameters and returns
 * the reference it contains along with its index and the
 * index of the subsequent update.
 *
 * @param ky Ky instance
 * @param owner       Owner's ethereum address in hex
 * @param topic       Topic in hex
 * @param options     Additional options, like index, at, type
 */
export declare function fetchLatestFeedUpdate(ky: Ky, owner: HexEthAddress, topic: Topic, options?: FeedUpdateOptions): Promise<FetchFeedUpdateResponse>;
export {};
