import type { ClientConfig } from "./client/types";
import { BaseClient } from "./client/base.client";
import * as sdk from "./generated/sdk";
interface Content {
    core: sdk.ContentsClient;
    news: sdk.NewsClient;
    research: sdk.ResearchClient;
    categories: sdk.ContentCategoriesClient;
    tags: sdk.ContentTagsClient;
    sources: sdk.ContentSourcesClient;
    statuses: sdk.ContentStatusesClient;
    feeds: {
        main: sdk.FeedsClient;
        categories: sdk.FeedCategoriesClient;
        sources: sdk.FeedSourcesClient;
    };
    newsLetters: sdk.NewslettersClient;
    summaries: sdk.NewsSummariesClient;
    embeddings: {
        research: sdk.ResearchEmbeddingsClient;
        reviews: sdk.EmbeddingReviewsClient;
    };
}
interface Companies {
    core: sdk.CompaniesClient;
    employees: sdk.CompanyEmployeesClient;
    contacts: sdk.CompanyContactsClient;
    extras: sdk.CompanyExtrasClient;
    metrics: sdk.CompanyMetricsClient;
}
interface Engagement {
    bookmarks: {
        items: sdk.BookmarksClient;
        folders: sdk.BookmarkFoldersClient;
    };
    comments: sdk.CommentsClient;
    follows: sdk.FollowsClient;
    votes: sdk.VotesClient;
    feedback: sdk.FeedbacksClient;
    referrals: sdk.ReferralsClient;
}
interface Users {
    profiles: sdk.UserProfilesClient;
    metrics: sdk.UserMetricsClient;
    searches: sdk.SearchesClient;
}
interface Location {
    countries: sdk.CountriesClient;
    cities: sdk.CitiesClient;
    addresses: sdk.AddressesClient;
}
interface Security {
    roles: {
        permissions: sdk.RolePermissionsClient;
        hierarchy: sdk.RoleHierarchyClient;
        materialized: sdk.RolePermissionsMaterializedClient;
    };
    planPermissions: sdk.PlanPermissionsClient;
    blockedIps: sdk.BlockedIpsClient;
    blacklists: {
        urls: sdk.BlacklistedUrlsClient;
        domains: sdk.BlacklistedDomainsClient;
    };
    referrerBlocks: sdk.ReferrerBlocksClient;
}
interface Advertising {
    ads: sdk.AdsClient;
    packages: sdk.AdPackagesClient;
    variants: sdk.AdVariantsClient;
    metrics: sdk.AdDailyMetricsClient;
}
interface Billing {
    payments: sdk.CustomerPaymentsClient;
    refunds: sdk.CustomerRefundsClient;
    subscriptions: {
        main: sdk.CustomerSubscriptionsClient;
        plans: sdk.CustomerSubscriptionPlansClient;
    };
    webhooks: sdk.CustomerProcessedWebhooksClient;
    providers: sdk.PaymentProvidersClient;
}
interface System {
    workflows: sdk.WorkflowsClient;
    performance: {
        queries: sdk.TableQueryPerformanceClient;
        maintenance: sdk.TableMaintenanceLogClient;
        sequences: sdk.TableSequenceUsageClient;
        statistics: sdk.TableStatisticsClient;
    };
    features: {
        requests: sdk.FeatureRequestsClient;
        votes: sdk.FeatureVotesClient;
    };
    errors: sdk.ErrorLogsClient;
    circuitBreaker: sdk.CircuitBreakerStatesClient;
    migrations: {
        strapi: sdk.StrapiMigrationsClient;
        internal: sdk.StrapiMigrationsInternalClient;
    };
}
interface Analytics {
    spiderMetrics: sdk.SpiderMetricsClient;
    metricDefinitions: sdk.MetricDefinitionsClient;
    scoringWeights: sdk.ScoringWeightsClient;
    sourceVisits: sdk.ContentSourceVisitsClient;
}
interface Business {
    domains: sdk.BusinessDomainsClient;
    categorizedUrls: sdk.CategorizedUrlsClient;
}
export interface ApiClient {
    content: Content;
    companies: Companies;
    engagement: Engagement;
    users: Users;
    location: Location;
    security: Security;
    advertising: Advertising;
    billing: Billing;
    system: System;
    analytics: Analytics;
    business: Business;
}
export declare class ApiClient extends BaseClient implements ApiClient {
    protected config: ClientConfig;
    content: Content;
    companies: Companies;
    engagement: Engagement;
    users: Users;
    location: Location;
    security: Security;
    advertising: Advertising;
    billing: Billing;
    system: System;
    analytics: Analytics;
    business: Business;
    constructor(config: ClientConfig);
}
export declare function createClient(config: ClientConfig): ApiClient;
export default createClient;
