import { type FlagValues } from '../config/manager.js'; import type { AdAccount, Campaign, AdSet, Ad, AdCreative, AdImage, AdVideo, Insights, MetaPaginatedResponse } from '../../types/index.js'; export interface ClientOptions { accessToken: string; accountId?: string; apiVersion?: string; debug?: boolean; } export interface ListOptions { limit?: number; after?: string; fields?: string[]; all?: boolean; } export declare class MetaAdsClient { private accessToken; private accountId?; private apiVersion; private debug; constructor(options: ClientOptions); static fromConfig(flags?: FlagValues): Promise; getAccountId(): string; private request; private post; private autoPaginate; listAccounts(options?: ListOptions): Promise>; getAccount(accountId: string): Promise; listCampaigns(options?: ListOptions & { status?: string; }): Promise>; getCampaign(campaignId: string, fields?: string[]): Promise; createCampaign(params: { name: string; objective: string; status?: string; special_ad_categories?: string[]; daily_budget?: string; lifetime_budget?: string; }): Promise; updateCampaign(campaignId: string, params: Partial): Promise; updateCampaignStatus(campaignId: string, status: 'ACTIVE' | 'PAUSED'): Promise; listAdSets(options?: ListOptions & { campaignId?: string; status?: string; includeDelivery?: boolean; }): Promise>; getAdSet(adsetId: string, fields?: string[]): Promise; createAdSet(params: { name: string; campaign_id: string; billing_event: string; optimization_goal: string; targeting: Record; status?: string; daily_budget?: string; lifetime_budget?: string; start_time?: string; end_time?: string; bid_amount?: string; }): Promise; updateAdSet(adsetId: string, params: Partial): Promise; updateAdSetStatus(adsetId: string, status: 'ACTIVE' | 'PAUSED'): Promise; listAds(options?: ListOptions & { adsetId?: string; campaignId?: string; status?: string; includeDelivery?: boolean; includeCreative?: boolean; }): Promise>; getAd(adId: string, fields?: string[]): Promise; createAd(params: { name: string; adset_id: string; creative: { creative_id: string; } | Record; status?: string; }): Promise; updateAd(adId: string, params: Partial): Promise; updateAdStatus(adId: string, status: 'ACTIVE' | 'PAUSED'): Promise; getInsights(options: { level: 'account' | 'campaign' | 'adset' | 'ad'; datePreset?: string; dateRange?: { start: string; end: string; } | { since: string; until: string; }; fields?: string[]; extraFields?: string[]; breakdowns?: string[]; limit?: number; includeVideoMetrics?: boolean; }): Promise; listCreatives(options?: ListOptions): Promise>; getCreative(creativeId: string, fields?: string[]): Promise; uploadImage(filePath: string, name?: string): Promise; listImages(options?: ListOptions): Promise>; uploadVideo(params: { filePath?: string; fileUrl?: string; name: string; }): Promise; listVideos(options?: ListOptions): Promise>; getVideo(videoId: string, fields?: string[]): Promise; createCreative(params: { name: string; object_story_spec?: { page_id: string; link_data?: { link: string; message?: string; image_hash?: string; video_id?: string; call_to_action?: { type: string; value?: { link?: string; }; }; }; video_data?: { video_id: string; image_hash?: string; title?: string; message?: string; call_to_action?: { type: string; value?: { link?: string; }; }; }; }; asset_feed_spec?: Record; degrees_of_freedom_spec?: Record; }): Promise; } //# sourceMappingURL=client.d.ts.map