/// <reference types="bluebird" />
import * as Promise from 'bluebird';
import * as resources from './resources';
export * from './entities';
export interface HudAiClientConfiguration {
    clientId: string;
    clientSecret?: string;
    redirectUri?: string;
    baseApiUrl?: string;
    baseAuthUrl?: string;
    request?: object;
}
export declare class HudAiClient {
    baseApiUrl: string;
    accessToken?: string;
    refreshToken?: string;
    tokenExpiresAt?: Date;
    actionItems: resources.ActionItemResource;
    articleCompanies: resources.ArticleCompanyResource;
    articlePeople: resources.ArticlePersonResource;
    articleKeyTerms: resources.ArticleKeyTermResource;
    articleTags: resources.ArticleTagResource;
    articleGeographies: resources.ArticleGeographyResource;
    articles: resources.ArticleResource;
    cache: resources.CacheResource;
    collateral: resources.CollateralResource;
    companies: resources.CompanyResource;
    companyEvents: resources.CompanyEventResource;
    companyIndustries: resources.CompanyIndustryResource;
    companyKeyTerms: resources.CompanyKeyTermResource;
    companyProfiles: resources.CompanyProfileResource;
    conferences: resources.ConferenceResource;
    conferenceSpeakers: resources.ConferenceSpeakerResource;
    conferenceLocations: resources.ConferenceLocationResource;
    domains: resources.DomainResource;
    feed: resources.FeedResource;
    highlights: resources.HighlightResource;
    industries: resources.IndustryResource;
    jobFunctions: resources.JobFunctionResource;
    keyTerms: resources.KeyTermResource;
    organizations: resources.OrganizationResource;
    people: resources.PersonResource;
    peopleKeyTerms: resources.PersonKeyTermResource;
    quotes: resources.QuoteResource;
    sources: resources.SourceResource;
    stagedSalesforceData: resources.StagedSalesforceDataResource;
    stockAlerts: resources.StockAlertResource;
    textCorpora: resources.TextCorpusResource;
    tweets: resources.TweetResource;
    userCompanies: resources.UserCompanyResource;
    userCompanyGroups: resources.UserCompanyGroupResource;
    userContacts: resources.UserContactResource;
    userConferences: resources.UserConferenceResource;
    userContentItemReactions: resources.UserContentItemReactionResource;
    userDigestSubscriptions: resources.UserDigestSubscriptionResource;
    userFeedSettings: resources.UserFeedSettingResource;
    userIndustries: resources.UserIndustryResource;
    userJobFunctions: resources.UserJobFunctionResource;
    userKeyTerms: resources.UserKeyTermResource;
    userPeople: resources.UserPersonResource;
    userSavedItems: resources.UserSavedItemResource;
    userSources: resources.UserSourceResource;
    userTemplates: resources.UserTemplateResource;
    users: resources.UserResource;
    videos: resources.VideoResource;
    videoCompanies: resources.VideoCompanyResource;
    videoPeople: resources.VideoPersonResource;
    article: resources.ArticleResource;
    company: resources.CompanyResource;
    domain: resources.DomainResource;
    keyTerm: resources.KeyTermResource;
    textCorpus: resources.TextCorpusResource;
    user: resources.UserResource;
    private authorizationCode?;
    private baseAuthUrl;
    private clientId;
    private clientSecret?;
    private redirectUri?;
    private requestManager;
    static create(clientConfig: HudAiClientConfiguration): HudAiClient;
    constructor(config: HudAiClientConfiguration);
    getAuthorizeUri(responseType?: string): string;
    getLogoutUri(): string;
    refreshTokens(): Promise<void>;
    setAccessToken(accessToken: string): void;
    setAuthorizationCode(authorizationCode: string): void;
    private addDeprecatedAttributes();
    private exchangeAuthCode();
    private exchangeClientCredentials();
    private getTokens(data);
    private handleTokenRefresh();
}
