import type { PagePostFields, PostAttachment, PublishMultiPhotoOptions, PublishPhotoPostOptions, PublishTextPostOptions, PublishVideoPostOptions, PublishVideoReelOptions, VideoStatus } from "./types.ts"; type CreateClientReturn = ReturnType; type PageNode = ReturnType; export declare function createFeed(api: CreateClientReturn, page: PageNode, pageId: string, accessToken: string): { /** Publish a text post (optionally with a link) to the Page feed. */ publishPost(opts: PublishTextPostOptions): Promise<{ id: string; }>; /** Publish a photo post to the Page. */ publishPhoto(opts: PublishPhotoPostOptions): Promise<{ id: string; post_id?: string; }>; /** * Publish a video post to the Page. * On Facebook, all feed videos and reels use the same /videos endpoint. */ publishVideo(opts: PublishVideoPostOptions): Promise<{ id: string; }>; /** Publish a multi-photo post (upload each photo, then create feed with attached_media[]). */ publishMultiPhoto(opts: PublishMultiPhotoOptions): Promise<{ id: string; }>; /** Publish a video reel using the 3-phase upload flow. */ publishVideoReel(opts: PublishVideoReelOptions): Promise<{ id: string; videoId: string; }>; /** Get video processing status. */ getVideoStatus(videoId: string): Promise; /** Fetch post attachments (images + subattachments for multi-photo). */ fetchAttachments(postId: string): Promise; /** Fetch video details (source URL + thumbnails). */ fetchVideo(videoId: string): Promise; /** Get permalink for a post. */ getPermalink(postId: string): Promise; /** List Page feed posts using the generated Page.feed edge. */ list(opts?: { fields?: (keyof PagePostFields)[]; limit?: number; }): Promise[]>; /** Update a Page post. Only posts created by your app can be updated. */ updatePost(postId: string, opts: { message?: string; }): Promise; /** Delete a Page post. */ deletePost(postId: string): Promise; }; export {}; //# sourceMappingURL=feed.d.ts.map