/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
declare const BASE_PATH: string;
interface ConfigurationParameters {
    basePath?: string;
    fetchApi?: FetchAPI;
    middleware?: Middleware[];
    queryParamsStringify?: (params: HTTPQuery) => string;
    /** Access token (Bearer) */
    apiKey?: string | Promise<string> | ((name?: string, scopes?: string[]) => string | Promise<string>);
    headers?: HTTPHeaders;
    credentials?: RequestCredentials;
}
declare class Configuration {
    private configuration;
    constructor(configuration?: ConfigurationParameters);
    set config(configuration: Configuration);
    get basePath(): string;
    get fetchApi(): ((input: RequestInfo | URL, init?: RequestInit) => Promise<Response>) | undefined;
    get middleware(): Middleware[];
    get queryParamsStringify(): typeof querystring;
    get accessToken(): ((name?: string, scopes?: string[]) => string | Promise<string>) | undefined;
    get headers(): HTTPHeaders | undefined;
    get credentials(): RequestCredentials | undefined;
}
declare const DefaultConfig: Configuration;
/**
 * This is the base class for all generated API classes.
 */
declare class BaseAPI {
    protected configuration: Configuration;
    private static readonly jsonRegex;
    private middleware;
    constructor(configuration?: Configuration);
    withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]): T;
    withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware["pre"]>): T;
    withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware["post"]>): T;
    /**
     * Check if the given MIME is a JSON MIME.
     * JSON MIME examples:
     *   application/json
     *   application/json; charset=UTF8
     *   APPLICATION/JSON
     *   application/vnd.company+json
     * @param mime - MIME (Multipurpose Internet Mail Extensions)
     * @return True if the given MIME is JSON, false otherwise.
     */
    protected isJsonMime(mime: string | null | undefined): boolean;
    protected request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise<Response>;
    private createFetchParams;
    private fetchApi;
    /**
     * Create a shallow clone of `this` by constructing a new instance
     * and then shallow cloning data members.
     */
    private clone;
}
declare class ResponseError extends Error {
    response: Response;
    name: "ResponseError";
    constructor(response: Response, msg?: string);
}
declare class FetchError extends Error {
    cause: Error;
    name: "FetchError";
    constructor(cause: Error, msg?: string);
}
declare class RequiredError extends Error {
    field: string;
    name: "RequiredError";
    constructor(field: string, msg?: string);
}
declare const COLLECTION_FORMATS: {
    csv: string;
    ssv: string;
    tsv: string;
    pipes: string;
};
type FetchAPI = WindowOrWorkerGlobalScope["fetch"];
type Json = any;
type HTTPMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD";
type HTTPHeaders = {
    [key: string]: string;
};
type HTTPQuery = {
    [key: string]: string | number | null | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery;
};
type HTTPBody = Json | FormData | URLSearchParams;
type HTTPRequestInit = {
    headers?: HTTPHeaders;
    method: HTTPMethod;
    credentials?: RequestCredentials;
    body?: HTTPBody;
};
type ModelPropertyNaming = "camelCase" | "snake_case" | "PascalCase" | "original";
type InitOverrideFunction = (requestContext: {
    init: HTTPRequestInit;
    context: RequestOpts;
}) => Promise<RequestInit>;
interface FetchParams {
    url: string;
    init: RequestInit;
}
interface RequestOpts {
    path: string;
    method: HTTPMethod;
    headers: HTTPHeaders;
    query?: HTTPQuery;
    body?: HTTPBody;
}
declare function querystring(params: HTTPQuery, prefix?: string): string;
declare function exists(json: any, key: string): boolean;
declare function mapValues(data: any, fn: (item: any) => any): {
    [key: string]: any;
};
declare function canConsumeForm(consumes: Consume[]): boolean;
interface Consume {
    contentType: string;
}
interface RequestContext {
    fetch: FetchAPI;
    url: string;
    init: RequestInit;
}
interface ResponseContext {
    fetch: FetchAPI;
    url: string;
    init: RequestInit;
    response: Response;
}
interface ErrorContext {
    fetch: FetchAPI;
    url: string;
    init: RequestInit;
    error: unknown;
    response?: Response;
}
interface Middleware {
    pre?(context: RequestContext): Promise<FetchParams | void>;
    post?(context: ResponseContext): Promise<Response | void>;
    onError?(context: ErrorContext): Promise<Response | void>;
}
interface ApiResponse<T> {
    raw: Response;
    value(): Promise<T>;
}
interface ResponseTransformer<T> {
    (json: any): T;
}
declare class JSONApiResponse<T> {
    raw: Response;
    private transformer;
    constructor(raw: Response, transformer?: ResponseTransformer<T>);
    value(): Promise<T>;
}
declare class VoidApiResponse {
    raw: Response;
    constructor(raw: Response);
    value(): Promise<void>;
}
declare class BlobApiResponse {
    raw: Response;
    constructor(raw: Response);
    value(): Promise<Blob>;
}
declare class TextApiResponse {
    raw: Response;
    constructor(raw: Response);
    value(): Promise<string>;
}

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 */
declare const AllEndpointSortBy: {
    readonly Relevance: "relevance";
    readonly Date: "date";
    readonly ReverseDate: "reverseDate";
    readonly ReverseAddDate: "reverseAddDate";
    readonly AddDate: "addDate";
    readonly PubDate: "pubDate";
    readonly RefreshDate: "refreshDate";
};
type AllEndpointSortBy = (typeof AllEndpointSortBy)[keyof typeof AllEndpointSortBy];
declare function instanceOfAllEndpointSortBy(value: any): boolean;
declare function AllEndpointSortByFromJSON(json: any): AllEndpointSortBy;
declare function AllEndpointSortByFromJSONTyped(json: any, ignoreDiscriminator: boolean): AllEndpointSortBy;
declare function AllEndpointSortByToJSON(value?: AllEndpointSortBy | null): any;
declare function AllEndpointSortByToJSONTyped(value: any, ignoreDiscriminator: boolean): AllEndpointSortBy;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface NameCount
 */
interface NameCount {
    /**
     *
     * @type {string}
     * @memberof NameCount
     */
    name?: string | null;
    /**
     *
     * @type {number}
     * @memberof NameCount
     */
    count?: number | null;
}
/**
 * Check if a given object implements the NameCount interface.
 */
declare function instanceOfNameCount(value: object): value is NameCount;
declare function NameCountFromJSON(json: any): NameCount;
declare function NameCountFromJSONTyped(json: any, ignoreDiscriminator: boolean): NameCount;
declare function NameCountToJSON(json: any): NameCount;
declare function NameCountToJSONTyped(value?: NameCount | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface LocationHolder
 */
interface LocationHolder {
    /**
     *
     * @type {string}
     * @memberof LocationHolder
     */
    country?: string | null;
    /**
     *
     * @type {string}
     * @memberof LocationHolder
     */
    state?: string | null;
    /**
     *
     * @type {string}
     * @memberof LocationHolder
     */
    county?: string | null;
    /**
     *
     * @type {string}
     * @memberof LocationHolder
     */
    city?: string | null;
    /**
     *
     * @type {string}
     * @memberof LocationHolder
     */
    area?: string | null;
}
/**
 * Check if a given object implements the LocationHolder interface.
 */
declare function instanceOfLocationHolder(value: object): value is LocationHolder;
declare function LocationHolderFromJSON(json: any): LocationHolder;
declare function LocationHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): LocationHolder;
declare function LocationHolderToJSON(json: any): LocationHolder;
declare function LocationHolderToJSONTyped(value?: LocationHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface Journalist
 */
interface Journalist {
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    id?: string | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    name?: string | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    fullName?: string | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    headline?: string | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    description?: string | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    title?: string | null;
    /**
     *
     * @type {Array<LocationHolder>}
     * @memberof Journalist
     */
    locations?: Array<LocationHolder> | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    updatedAt?: string | null;
    /**
     *
     * @type {Array<NameCount>}
     * @memberof Journalist
     */
    topTopics?: Array<NameCount> | null;
    /**
     *
     * @type {Array<NameCount>}
     * @memberof Journalist
     */
    topSources?: Array<NameCount> | null;
    /**
     *
     * @type {Array<NameCount>}
     * @memberof Journalist
     */
    topCategories?: Array<NameCount> | null;
    /**
     *
     * @type {Array<NameCount>}
     * @memberof Journalist
     */
    topLabels?: Array<NameCount> | null;
    /**
     *
     * @type {Array<NameCount>}
     * @memberof Journalist
     */
    topCountries?: Array<NameCount> | null;
    /**
     *
     * @type {number}
     * @memberof Journalist
     */
    avgMonthlyPosts?: number | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    twitterHandle?: string | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    twitterBio?: string | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    imageUrl?: string | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    linkedinUrl?: string | null;
    /**
     *
     * @type {number}
     * @memberof Journalist
     */
    linkedinConnections?: number | null;
    /**
     *
     * @type {number}
     * @memberof Journalist
     */
    linkedinFollowers?: number | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    facebookUrl?: string | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    instagramUrl?: string | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    websiteUrl?: string | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    blogUrl?: string | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    tumblrUrl?: string | null;
    /**
     *
     * @type {string}
     * @memberof Journalist
     */
    youtubeUrl?: string | null;
}
/**
 * Check if a given object implements the Journalist interface.
 */
declare function instanceOfJournalist(value: object): value is Journalist;
declare function JournalistFromJSON(json: any): Journalist;
declare function JournalistFromJSONTyped(json: any, ignoreDiscriminator: boolean): Journalist;
declare function JournalistToJSON(json: any): Journalist;
declare function JournalistToJSONTyped(value?: Journalist | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface Coordinate
 */
interface Coordinate {
    /**
     *
     * @type {number}
     * @memberof Coordinate
     */
    lat?: number | null;
    /**
     *
     * @type {number}
     * @memberof Coordinate
     */
    lon?: number | null;
}
/**
 * Check if a given object implements the Coordinate interface.
 */
declare function instanceOfCoordinate(value: object): value is Coordinate;
declare function CoordinateFromJSON(json: any): Coordinate;
declare function CoordinateFromJSONTyped(json: any, ignoreDiscriminator: boolean): Coordinate;
declare function CoordinateToJSON(json: any): Coordinate;
declare function CoordinateToJSONTyped(value?: Coordinate | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface SourceLocation
 */
interface SourceLocation {
    /**
     *
     * @type {string}
     * @memberof SourceLocation
     */
    country?: string | null;
    /**
     *
     * @type {string}
     * @memberof SourceLocation
     */
    state?: string | null;
    /**
     *
     * @type {string}
     * @memberof SourceLocation
     */
    county?: string | null;
    /**
     *
     * @type {string}
     * @memberof SourceLocation
     */
    city?: string | null;
    /**
     *
     * @type {Coordinate}
     * @memberof SourceLocation
     */
    coordinates?: Coordinate;
}
/**
 * Check if a given object implements the SourceLocation interface.
 */
declare function instanceOfSourceLocation(value: object): value is SourceLocation;
declare function SourceLocationFromJSON(json: any): SourceLocation;
declare function SourceLocationFromJSONTyped(json: any, ignoreDiscriminator: boolean): SourceLocation;
declare function SourceLocationToJSON(json: any): SourceLocation;
declare function SourceLocationToJSONTyped(value?: SourceLocation | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface SourceHolder
 */
interface SourceHolder {
    /**
     *
     * @type {string}
     * @memberof SourceHolder
     */
    domain?: string | null;
    /**
     *
     * @type {boolean}
     * @memberof SourceHolder
     */
    paywall?: boolean | null;
    /**
     *
     * @type {SourceLocation}
     * @memberof SourceHolder
     */
    location?: SourceLocation;
}
/**
 * Check if a given object implements the SourceHolder interface.
 */
declare function instanceOfSourceHolder(value: object): value is SourceHolder;
declare function SourceHolderFromJSON(json: any): SourceHolder;
declare function SourceHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): SourceHolder;
declare function SourceHolderToJSON(json: any): SourceHolder;
declare function SourceHolderToJSONTyped(value?: SourceHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface CompanyHolder
 */
interface CompanyHolder {
    /**
     *
     * @type {string}
     * @memberof CompanyHolder
     */
    id?: string | null;
    /**
     *
     * @type {string}
     * @memberof CompanyHolder
     */
    name?: string | null;
    /**
     *
     * @type {Array<string>}
     * @memberof CompanyHolder
     */
    domains?: Array<string> | null;
    /**
     *
     * @type {Array<string>}
     * @memberof CompanyHolder
     */
    symbols?: Array<string> | null;
}
/**
 * Check if a given object implements the CompanyHolder interface.
 */
declare function instanceOfCompanyHolder(value: object): value is CompanyHolder;
declare function CompanyHolderFromJSON(json: any): CompanyHolder;
declare function CompanyHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyHolder;
declare function CompanyHolderToJSON(json: any): CompanyHolder;
declare function CompanyHolderToJSONTyped(value?: CompanyHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface EntityHolder
 */
interface EntityHolder {
    /**
     *
     * @type {string}
     * @memberof EntityHolder
     */
    data?: string | null;
    /**
     *
     * @type {string}
     * @memberof EntityHolder
     */
    type?: string | null;
    /**
     *
     * @type {number}
     * @memberof EntityHolder
     */
    mentions?: number | null;
}
/**
 * Check if a given object implements the EntityHolder interface.
 */
declare function instanceOfEntityHolder(value: object): value is EntityHolder;
declare function EntityHolderFromJSON(json: any): EntityHolder;
declare function EntityHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): EntityHolder;
declare function EntityHolderToJSON(json: any): EntityHolder;
declare function EntityHolderToJSONTyped(value?: EntityHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface CategoryHolder
 */
interface CategoryHolder {
    /**
     *
     * @type {string}
     * @memberof CategoryHolder
     */
    name?: string | null;
}
/**
 * Check if a given object implements the CategoryHolder interface.
 */
declare function instanceOfCategoryHolder(value: object): value is CategoryHolder;
declare function CategoryHolderFromJSON(json: any): CategoryHolder;
declare function CategoryHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): CategoryHolder;
declare function CategoryHolderToJSON(json: any): CategoryHolder;
declare function CategoryHolderToJSONTyped(value?: CategoryHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface PersonHolder
 */
interface PersonHolder {
    /**
     *
     * @type {string}
     * @memberof PersonHolder
     */
    wikidataId?: string | null;
    /**
     *
     * @type {string}
     * @memberof PersonHolder
     */
    name?: string | null;
}
/**
 * Check if a given object implements the PersonHolder interface.
 */
declare function instanceOfPersonHolder(value: object): value is PersonHolder;
declare function PersonHolderFromJSON(json: any): PersonHolder;
declare function PersonHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): PersonHolder;
declare function PersonHolderToJSON(json: any): PersonHolder;
declare function PersonHolderToJSONTyped(value?: PersonHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface LabelHolder
 */
interface LabelHolder {
    /**
     *
     * @type {string}
     * @memberof LabelHolder
     */
    name?: string | null;
}
/**
 * Check if a given object implements the LabelHolder interface.
 */
declare function instanceOfLabelHolder(value: object): value is LabelHolder;
declare function LabelHolderFromJSON(json: any): LabelHolder;
declare function LabelHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): LabelHolder;
declare function LabelHolderToJSON(json: any): LabelHolder;
declare function LabelHolderToJSONTyped(value?: LabelHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface RecordStatHolder
 */
interface RecordStatHolder {
    /**
     *
     * @type {string}
     * @memberof RecordStatHolder
     */
    name?: string | null;
    /**
     *
     * @type {number}
     * @memberof RecordStatHolder
     */
    count?: number | null;
}
/**
 * Check if a given object implements the RecordStatHolder interface.
 */
declare function instanceOfRecordStatHolder(value: object): value is RecordStatHolder;
declare function RecordStatHolderFromJSON(json: any): RecordStatHolder;
declare function RecordStatHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecordStatHolder;
declare function RecordStatHolderToJSON(json: any): RecordStatHolder;
declare function RecordStatHolderToJSONTyped(value?: RecordStatHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface PersonCount
 */
interface PersonCount {
    /**
     *
     * @type {string}
     * @memberof PersonCount
     */
    wikidataId?: string | null;
    /**
     *
     * @type {string}
     * @memberof PersonCount
     */
    name?: string | null;
    /**
     *
     * @type {number}
     * @memberof PersonCount
     */
    count?: number | null;
}
/**
 * Check if a given object implements the PersonCount interface.
 */
declare function instanceOfPersonCount(value: object): value is PersonCount;
declare function PersonCountFromJSON(json: any): PersonCount;
declare function PersonCountFromJSONTyped(json: any, ignoreDiscriminator: boolean): PersonCount;
declare function PersonCountToJSON(json: any): PersonCount;
declare function PersonCountToJSONTyped(value?: PersonCount | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface LocationCount
 */
interface LocationCount {
    /**
     *
     * @type {string}
     * @memberof LocationCount
     */
    state?: string | null;
    /**
     *
     * @type {string}
     * @memberof LocationCount
     */
    county?: string | null;
    /**
     *
     * @type {string}
     * @memberof LocationCount
     */
    city?: string | null;
    /**
     *
     * @type {string}
     * @memberof LocationCount
     */
    area?: string | null;
    /**
     *
     * @type {number}
     * @memberof LocationCount
     */
    count?: number | null;
}
/**
 * Check if a given object implements the LocationCount interface.
 */
declare function instanceOfLocationCount(value: object): value is LocationCount;
declare function LocationCountFromJSON(json: any): LocationCount;
declare function LocationCountFromJSONTyped(json: any, ignoreDiscriminator: boolean): LocationCount;
declare function LocationCountToJSON(json: any): LocationCount;
declare function LocationCountToJSONTyped(value?: LocationCount | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface CompanyCount
 */
interface CompanyCount {
    /**
     *
     * @type {string}
     * @memberof CompanyCount
     */
    id?: string | null;
    /**
     *
     * @type {string}
     * @memberof CompanyCount
     */
    name?: string | null;
    /**
     *
     * @type {Array<string>}
     * @memberof CompanyCount
     */
    domains?: Array<string> | null;
    /**
     *
     * @type {Array<string>}
     * @memberof CompanyCount
     */
    symbols?: Array<string> | null;
    /**
     *
     * @type {number}
     * @memberof CompanyCount
     */
    count?: number | null;
}
/**
 * Check if a given object implements the CompanyCount interface.
 */
declare function instanceOfCompanyCount(value: object): value is CompanyCount;
declare function CompanyCountFromJSON(json: any): CompanyCount;
declare function CompanyCountFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanyCount;
declare function CompanyCountToJSON(json: any): CompanyCount;
declare function CompanyCountToJSONTyped(value?: CompanyCount | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface KeyPoint
 */
interface KeyPoint {
    /**
     *
     * @type {string}
     * @memberof KeyPoint
     */
    point?: string | null;
    /**
     *
     * @type {Array<string>}
     * @memberof KeyPoint
     */
    references?: Array<string> | null;
}
/**
 * Check if a given object implements the KeyPoint interface.
 */
declare function instanceOfKeyPoint(value: object): value is KeyPoint;
declare function KeyPointFromJSON(json: any): KeyPoint;
declare function KeyPointFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyPoint;
declare function KeyPointToJSON(json: any): KeyPoint;
declare function KeyPointToJSONTyped(value?: KeyPoint | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface TopicHolder
 */
interface TopicHolder {
    /**
     *
     * @type {string}
     * @memberof TopicHolder
     */
    name?: string | null;
}
/**
 * Check if a given object implements the TopicHolder interface.
 */
declare function instanceOfTopicHolder(value: object): value is TopicHolder;
declare function TopicHolderFromJSON(json: any): TopicHolder;
declare function TopicHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): TopicHolder;
declare function TopicHolderToJSON(json: any): TopicHolder;
declare function TopicHolderToJSONTyped(value?: TopicHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface Question
 */
interface Question {
    /**
     *
     * @type {string}
     * @memberof Question
     */
    question?: string | null;
    /**
     *
     * @type {string}
     * @memberof Question
     */
    answer?: string | null;
    /**
     *
     * @type {Array<string>}
     * @memberof Question
     */
    references?: Array<string> | null;
}
/**
 * Check if a given object implements the Question interface.
 */
declare function instanceOfQuestion(value: object): value is Question;
declare function QuestionFromJSON(json: any): Question;
declare function QuestionFromJSONTyped(json: any, ignoreDiscriminator: boolean): Question;
declare function QuestionToJSON(json: any): Question;
declare function QuestionToJSONTyped(value?: Question | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface SentimentHolder
 */
interface SentimentHolder {
    /**
     *
     * @type {number}
     * @memberof SentimentHolder
     */
    positive?: number | null;
    /**
     *
     * @type {number}
     * @memberof SentimentHolder
     */
    negative?: number | null;
    /**
     *
     * @type {number}
     * @memberof SentimentHolder
     */
    neutral?: number | null;
}
/**
 * Check if a given object implements the SentimentHolder interface.
 */
declare function instanceOfSentimentHolder(value: object): value is SentimentHolder;
declare function SentimentHolderFromJSON(json: any): SentimentHolder;
declare function SentimentHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): SentimentHolder;
declare function SentimentHolderToJSON(json: any): SentimentHolder;
declare function SentimentHolderToJSONTyped(value?: SentimentHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface NewsCluster
 */
interface NewsCluster {
    /**
     *
     * @type {string}
     * @memberof NewsCluster
     */
    createdAt?: string | null;
    /**
     *
     * @type {string}
     * @memberof NewsCluster
     */
    updatedAt?: string | null;
    /**
     *
     * @type {string}
     * @memberof NewsCluster
     */
    initializedAt?: string | null;
    /**
     *
     * @type {string}
     * @memberof NewsCluster
     */
    id?: string | null;
    /**
     *
     * @type {string}
     * @memberof NewsCluster
     */
    duplicateOf?: string | null;
    /**
     *
     * @type {string}
     * @memberof NewsCluster
     */
    slug?: string | null;
    /**
     *
     * @type {string}
     * @memberof NewsCluster
     */
    name?: string | null;
    /**
     *
     * @type {string}
     * @memberof NewsCluster
     */
    summary?: string | null;
    /**
     *
     * @type {string}
     * @memberof NewsCluster
     */
    shortSummary?: string | null;
    /**
     *
     * @type {Array<string>}
     * @memberof NewsCluster
     */
    summaryReferences?: Array<string> | null;
    /**
     *
     * @type {SourceHolder}
     * @memberof NewsCluster
     */
    imageSource?: SourceHolder;
    /**
     *
     * @type {string}
     * @memberof NewsCluster
     */
    imageUrl?: string | null;
    /**
     *
     * @type {Array<KeyPoint>}
     * @memberof NewsCluster
     */
    keyPoints?: Array<KeyPoint> | null;
    /**
     *
     * @type {Array<Question>}
     * @memberof NewsCluster
     */
    questions?: Array<Question> | null;
    /**
     *
     * @type {Array<string>}
     * @memberof NewsCluster
     */
    uniqueSources?: Array<string> | null;
    /**
     *
     * @type {Array<Article>}
     * @memberof NewsCluster
     */
    selectedArticles?: Array<Article> | null;
    /**
     *
     * @type {SentimentHolder}
     * @memberof NewsCluster
     */
    sentiment?: SentimentHolder;
    /**
     *
     * @type {number}
     * @memberof NewsCluster
     */
    uniqueCount?: number | null;
    /**
     *
     * @type {number}
     * @memberof NewsCluster
     */
    reprintCount?: number | null;
    /**
     *
     * @type {number}
     * @memberof NewsCluster
     */
    totalCount?: number | null;
    /**
     *
     * @type {Array<RecordStatHolder>}
     * @memberof NewsCluster
     */
    countries?: Array<RecordStatHolder> | null;
    /**
     *
     * @type {Array<string>}
     * @memberof NewsCluster
     */
    topCountries?: Array<string> | null;
    /**
     *
     * @type {Array<RecordStatHolder>}
     * @memberof NewsCluster
     */
    topics?: Array<RecordStatHolder> | null;
    /**
     *
     * @type {Array<TopicHolder>}
     * @memberof NewsCluster
     */
    topTopics?: Array<TopicHolder> | null;
    /**
     *
     * @type {Array<RecordStatHolder>}
     * @memberof NewsCluster
     */
    categories?: Array<RecordStatHolder> | null;
    /**
     *
     * @type {Array<CategoryHolder>}
     * @memberof NewsCluster
     */
    topCategories?: Array<CategoryHolder> | null;
    /**
     *
     * @type {Array<RecordStatHolder>}
     * @memberof NewsCluster
     */
    taxonomies?: Array<RecordStatHolder> | null;
    /**
     *
     * @type {Array<CategoryHolder>}
     * @memberof NewsCluster
     */
    topTaxonomies?: Array<CategoryHolder> | null;
    /**
     *
     * @type {Array<PersonCount>}
     * @memberof NewsCluster
     */
    people?: Array<PersonCount> | null;
    /**
     *
     * @type {Array<PersonHolder>}
     * @memberof NewsCluster
     */
    topPeople?: Array<PersonHolder> | null;
    /**
     *
     * @type {Array<CompanyCount>}
     * @memberof NewsCluster
     */
    companies?: Array<CompanyCount> | null;
    /**
     *
     * @type {Array<CompanyHolder>}
     * @memberof NewsCluster
     */
    topCompanies?: Array<CompanyHolder> | null;
    /**
     *
     * @type {Array<LocationCount>}
     * @memberof NewsCluster
     */
    locations?: Array<LocationCount> | null;
    /**
     *
     * @type {Array<LocationHolder>}
     * @memberof NewsCluster
     */
    topLocations?: Array<LocationHolder> | null;
    /**
     *
     * @type {{ [key: string]: Array<string>; }}
     * @memberof NewsCluster
     */
    highlights?: {
        [key: string]: Array<string>;
    } | null;
}
/**
 * Check if a given object implements the NewsCluster interface.
 */
declare function instanceOfNewsCluster(value: object): value is NewsCluster;
declare function NewsClusterFromJSON(json: any): NewsCluster;
declare function NewsClusterFromJSONTyped(json: any, ignoreDiscriminator: boolean): NewsCluster;
declare function NewsClusterToJSON(json: any): NewsCluster;
declare function NewsClusterToJSONTyped(value?: NewsCluster | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface KeywordHolder
 */
interface KeywordHolder {
    /**
     *
     * @type {string}
     * @memberof KeywordHolder
     */
    name?: string | null;
    /**
     *
     * @type {number}
     * @memberof KeywordHolder
     */
    weight?: number | null;
}
/**
 * Check if a given object implements the KeywordHolder interface.
 */
declare function instanceOfKeywordHolder(value: object): value is KeywordHolder;
declare function KeywordHolderFromJSON(json: any): KeywordHolder;
declare function KeywordHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeywordHolder;
declare function KeywordHolderToJSON(json: any): KeywordHolder;
declare function KeywordHolderToJSONTyped(value?: KeywordHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface EventTypeHolder
 */
interface EventTypeHolder {
    /**
     *
     * @type {string}
     * @memberof EventTypeHolder
     */
    name?: string | null;
    /**
     *
     * @type {string}
     * @memberof EventTypeHolder
     */
    type?: string | null;
}
/**
 * Check if a given object implements the EventTypeHolder interface.
 */
declare function instanceOfEventTypeHolder(value: object): value is EventTypeHolder;
declare function EventTypeHolderFromJSON(json: any): EventTypeHolder;
declare function EventTypeHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): EventTypeHolder;
declare function EventTypeHolderToJSON(json: any): EventTypeHolder;
declare function EventTypeHolderToJSONTyped(value?: EventTypeHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface CategoryWithScoreHolder
 */
interface CategoryWithScoreHolder {
    /**
     *
     * @type {string}
     * @memberof CategoryWithScoreHolder
     */
    name?: string | null;
    /**
     *
     * @type {number}
     * @memberof CategoryWithScoreHolder
     */
    score?: number | null;
}
/**
 * Check if a given object implements the CategoryWithScoreHolder interface.
 */
declare function instanceOfCategoryWithScoreHolder(value: object): value is CategoryWithScoreHolder;
declare function CategoryWithScoreHolderFromJSON(json: any): CategoryWithScoreHolder;
declare function CategoryWithScoreHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): CategoryWithScoreHolder;
declare function CategoryWithScoreHolderToJSON(json: any): CategoryWithScoreHolder;
declare function CategoryWithScoreHolderToJSONTyped(value?: CategoryWithScoreHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface Place
 */
interface Place {
    /**
     *
     * @type {string}
     * @memberof Place
     */
    osmId?: string | null;
    /**
     *
     * @type {string}
     * @memberof Place
     */
    road?: string | null;
    /**
     *
     * @type {string}
     * @memberof Place
     */
    quarter?: string | null;
    /**
     *
     * @type {string}
     * @memberof Place
     */
    suburb?: string | null;
    /**
     *
     * @type {string}
     * @memberof Place
     */
    city?: string | null;
    /**
     *
     * @type {string}
     * @memberof Place
     */
    town?: string | null;
    /**
     *
     * @type {string}
     * @memberof Place
     */
    county?: string | null;
    /**
     *
     * @type {string}
     * @memberof Place
     */
    stateDistrict?: string | null;
    /**
     *
     * @type {string}
     * @memberof Place
     */
    state?: string | null;
    /**
     *
     * @type {string}
     * @memberof Place
     */
    postcode?: string | null;
    /**
     *
     * @type {string}
     * @memberof Place
     */
    country?: string | null;
    /**
     *
     * @type {string}
     * @memberof Place
     */
    countryCode?: string | null;
    /**
     *
     * @type {string}
     * @memberof Place
     */
    amenity?: string | null;
    /**
     *
     * @type {string}
     * @memberof Place
     */
    neighbourhood?: string | null;
    /**
     *
     * @type {Coordinate}
     * @memberof Place
     */
    coordinates?: Coordinate;
}
/**
 * Check if a given object implements the Place interface.
 */
declare function instanceOfPlace(value: object): value is Place;
declare function PlaceFromJSON(json: any): Place;
declare function PlaceFromJSONTyped(json: any, ignoreDiscriminator: boolean): Place;
declare function PlaceToJSON(json: any): Place;
declare function PlaceToJSONTyped(value?: Place | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface IdNameHolder
 */
interface IdNameHolder {
    /**
     *
     * @type {string}
     * @memberof IdNameHolder
     */
    id?: string | null;
    /**
     *
     * @type {string}
     * @memberof IdNameHolder
     */
    name?: string | null;
}
/**
 * Check if a given object implements the IdNameHolder interface.
 */
declare function instanceOfIdNameHolder(value: object): value is IdNameHolder;
declare function IdNameHolderFromJSON(json: any): IdNameHolder;
declare function IdNameHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): IdNameHolder;
declare function IdNameHolderToJSON(json: any): IdNameHolder;
declare function IdNameHolderToJSONTyped(value?: IdNameHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface Article
 */
interface Article {
    /**
     *
     * @type {string}
     * @memberof Article
     */
    url?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    authorsByline?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    articleId?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    clusterId?: string | null;
    /**
     *
     * @type {SourceHolder}
     * @memberof Article
     */
    source?: SourceHolder;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    imageUrl?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    country?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    language?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    pubDate?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    addDate?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    refreshDate?: string | null;
    /**
     *
     * @type {number}
     * @memberof Article
     */
    score?: number | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    title?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    description?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    content?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    medium?: string | null;
    /**
     *
     * @type {Array<string>}
     * @memberof Article
     */
    links?: Array<string> | null;
    /**
     *
     * @type {Array<LabelHolder>}
     * @memberof Article
     */
    labels?: Array<LabelHolder> | null;
    /**
     *
     * @type {Array<EventTypeHolder>}
     * @memberof Article
     */
    eventTypes?: Array<EventTypeHolder> | null;
    /**
     *
     * @type {Array<IdNameHolder>}
     * @memberof Article
     */
    matchedAuthors?: Array<IdNameHolder> | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    claim?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    verdict?: string | null;
    /**
     *
     * @type {Array<KeywordHolder>}
     * @memberof Article
     */
    keywords?: Array<KeywordHolder> | null;
    /**
     *
     * @type {Array<TopicHolder>}
     * @memberof Article
     */
    topics?: Array<TopicHolder> | null;
    /**
     *
     * @type {Array<CategoryHolder>}
     * @memberof Article
     */
    categories?: Array<CategoryHolder> | null;
    /**
     *
     * @type {Array<CategoryWithScoreHolder>}
     * @memberof Article
     */
    taxonomies?: Array<CategoryWithScoreHolder> | null;
    /**
     *
     * @type {Array<EntityHolder>}
     * @memberof Article
     */
    entities?: Array<EntityHolder> | null;
    /**
     *
     * @type {Array<CompanyHolder>}
     * @memberof Article
     */
    companies?: Array<CompanyHolder> | null;
    /**
     *
     * @type {SentimentHolder}
     * @memberof Article
     */
    sentiment?: SentimentHolder;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    summary?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    shortSummary?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    translation?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    translatedTitle?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    translatedDescription?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    translatedSummary?: string | null;
    /**
     *
     * @type {Array<LocationHolder>}
     * @memberof Article
     */
    locations?: Array<LocationHolder> | null;
    /**
     *
     * @type {boolean}
     * @memberof Article
     */
    reprint?: boolean | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    reprintGroupId?: string | null;
    /**
     *
     * @type {Array<Place>}
     * @memberof Article
     */
    places?: Array<Place> | null;
    /**
     *
     * @type {Array<PersonHolder>}
     * @memberof Article
     */
    people?: Array<PersonHolder> | null;
    /**
     *
     * @type {NewsCluster}
     * @memberof Article
     */
    cluster?: NewsCluster;
    /**
     *
     * @type {Array<Journalist>}
     * @memberof Article
     */
    journalists?: Array<Journalist> | null;
    /**
     *
     * @type {{ [key: string]: Array<string>; }}
     * @memberof Article
     */
    highlights?: {
        [key: string]: Array<string>;
    } | null;
}
/**
 * Check if a given object implements the Article interface.
 */
declare function instanceOfArticle(value: object): value is Article;
declare function ArticleFromJSON(json: any): Article;
declare function ArticleFromJSONTyped(json: any, ignoreDiscriminator: boolean): Article;
declare function ArticleToJSON(json: any): Article;
declare function ArticleToJSONTyped(value?: Article | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 * Filter articles from publishers based at specific geographic locations. Uses latitude, longitude, and radius parameters to define a circular search area for publisher locations.
 * @export
 * @interface CoordinateFilter
 */
interface CoordinateFilter {
    /**
     *
     * @type {number}
     * @memberof CoordinateFilter
     */
    lat?: number | null;
    /**
     *
     * @type {number}
     * @memberof CoordinateFilter
     */
    lon?: number | null;
    /**
     *
     * @type {number}
     * @memberof CoordinateFilter
     */
    radius?: number | null;
}
/**
 * Check if a given object implements the CoordinateFilter interface.
 */
declare function instanceOfCoordinateFilter(value: object): value is CoordinateFilter;
declare function CoordinateFilterFromJSON(json: any): CoordinateFilter;
declare function CoordinateFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoordinateFilter;
declare function CoordinateFilterToJSON(json: any): CoordinateFilter;
declare function CoordinateFilterToJSONTyped(value?: CoordinateFilter | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 * Complex filter structure for article searches that supports nested logical operations (AND, OR, NOT) and multiple filtering criteria.
 * @export
 * @interface ArticleSearchFilter
 */
interface ArticleSearchFilter {
    /**
     * Filter by specific article identifiers. Accepts either a single ID or an array of IDs. Returns only articles matching these IDs.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    articleId?: Array<string> | null;
    /**
     * Filter by specific story identifiers. Accepts either a single ID or an array of IDs. Returns only articles belonging to these stories.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    clusterId?: Array<string> | null;
    /**
     * Filter articles by specific publisher domains or subdomains. Accepts either a single domain or an array of domains. Multiple values create an OR filter.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    source?: Array<string> | null;
    /**
     * Exclude articles from specific publisher domains or subdomains. Accepts either a single domain or an array of domains. Multiple values create an AND-exclude filter.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    excludeSource?: Array<string> | null;
    /**
     * Filter articles using Perigon's curated publisher bundles (e.g., top100, top25tech). Accepts either a single source group or an array. Multiple values create an OR filter to include articles from any of the specified bundles.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    sourceGroup?: Array<string> | null;
    /**
     * Filter articles by their language using ISO-639 two-letter codes in lowercase (e.g., en, es, fr). Accepts either a single language code or an array. Multiple values create an OR filter.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    language?: Array<string> | null;
    /**
     * Exclude articles in specific languages using ISO-639 two-letter codes in lowercase. Accepts either a single language code or an array. Multiple values create an AND-exclude filter.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    excludeLanguage?: Array<string> | null;
    /**
     * Filter articles by editorial labels such as Opinion, Paid-news, Non-news, Fact Check, or Press Release. View our docs for an exhaustive list of labels. Accepts either a single label or an array. Multiple values create an OR filter.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    label?: Array<string> | null;
    /**
     * Exclude articles with specific editorial labels. Accepts either a single label or an array. Multiple values create an AND-exclude filter, removing all content with any of these labels.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    excludeLabel?: Array<string> | null;
    /**
     * Filter by Google Content Categories. Must pass the full hierarchical path of the category. Accepts either a single path or an array. Example: taxonomy=/Finance/Banking/Other,/Finance/Investing/Funds. Multiple values create an OR filter.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    taxonomy?: Array<string> | null;
    /**
     * Filter by broad content categories such as Politics, Tech, Sports, Business, or Finance. Accepts either a single category or an array. Use none to find uncategorized articles. Multiple values create an OR filter.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    category?: Array<string> | null;
    /**
     * Filter by specific topics such as Markets, Crime, Cryptocurrency, or College Sports. Accepts either a single topic or an array. Topics are more granular than categories, and articles can have multiple topics. Multiple values create an OR filter.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    topic?: Array<string> | null;
    /**
     * Exclude articles with specific topics. Accepts either a single topic or an array. Multiple values create an AND-exclude filter, removing all content with any of these topics.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    excludeTopic?: Array<string> | null;
    /**
     * Filter articles by countries they mention using two-letter country codes in lowercase (e.g., us, gb, jp). Accepts either a single country code or an array. Multiple values create an OR filter. See documentation for supported country codes.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    country?: Array<string> | null;
    /**
     * Exclude articles from specific countries using two-letter country codes in lowercase. Accepts either a single country code or an array. Multiple values create an AND-exclude filter. See documentation for supported country codes.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    excludeCountry?: Array<string> | null;
    /**
     * Filter articles where specified countries play a central role in the content, not just mentioned. Uses two-letter country codes in lowercase. Accepts either a single country code or an array. Multiple values create an OR filter. See documentation for supported country codes.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    locationsCountry?: Array<string> | null;
    /**
     * Exclude articles where specified countries play a central role in the content. Accepts either a single country code or an array. Multiple values create an AND-exclude filter, removing articles focused on any of these countries. See documentation for supported country codes.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    excludeLocationsCountry?: Array<string> | null;
    /**
     * Filter articles where specified states play a central role in the content. Accepts either a single state code or an array. Multiple values create an OR filter. Uses two-letter state codes in lowercase. See documentation for supported state codes.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    state?: Array<string> | null;
    /**
     * Exclude articles where specified states play a central role. Accepts either a single state code or an array. Multiple values create an AND-exclude filter, removing articles focused on any of these states. See documentation for supported state codes.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    excludeState?: Array<string> | null;
    /**
     * Filter articles that mention or are related to specific counties. Accepts either a single county name or an array. Multiple values create an OR filter. County names typically include the word 'County' (e.g., Los Angeles County).
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    county?: Array<string> | null;
    /**
     * Exclude articles that mention or are related to specific counties. Accepts either a single county name or an array. Multiple values create an AND-exclude filter. County names should match the format in article metadata (e.g., Los Angeles County, Cook County).
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    excludeCounty?: Array<string> | null;
    /**
     * Filter articles that mention or are related to specific cities. Accepts either a single city name or an array. Multiple values create an OR filter.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    city?: Array<string> | null;
    /**
     * Exclude articles that mention or are related to specific cities. Accepts either a single city name or an array. Multiple values create an AND-exclude filter.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    excludeCity?: Array<string> | null;
    /**
     * Filter for articles from publishers based in specific countries. Accepts either a single country code or an array. Uses two-letter country codes in lowercase (e.g., us, gb). See documentation for supported country codes.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    sourceCountry?: Array<string> | null;
    /**
     * Filter for articles from publishers based in specific states or regions. Accepts either a single state code or an array. Uses two-letter state codes in lowercase. See documentation for supported state codes.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    sourceState?: Array<string> | null;
    /**
     * Filter for articles from publishers based in specific counties. Accepts either a single county name or an array. Multiple values create an OR filter.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    sourceCounty?: Array<string> | null;
    /**
     * Filter for articles from publishers based in specific cities. Accepts either a single city name or an array. Multiple values create an OR filter.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    sourceCity?: Array<string> | null;
    /**
     *
     * @type {CoordinateFilter}
     * @memberof ArticleSearchFilter
     */
    coordinates?: CoordinateFilter;
    /**
     *
     * @type {CoordinateFilter}
     * @memberof ArticleSearchFilter
     */
    sourceCoordinates?: CoordinateFilter;
    /**
     * Filter articles by company identifiers. Accepts either a single ID or an array. Multiple values create an OR filter. For a complete list of tracked companies and their IDs, refer to the /companies endpoint.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    companyId?: Array<string> | null;
    /**
     * Exclude articles mentioning companies with specific identifiers. Accepts either a single ID or an array. Multiple values create an AND-exclude filter. For a complete list of tracked companies and their IDs, refer to the /companies endpoint.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    excludeCompanyId?: Array<string> | null;
    /**
     * Filter articles by company domains (e.g., apple.com). Accepts either a single domain or an array. Multiple values create an OR filter. For a complete list of tracked companies and their domains, refer to the /companies endpoint.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    companyDomain?: Array<string> | null;
    /**
     * Exclude articles related to companies with specific domains. Accepts either a single domain or an array. Multiple values create an AND-exclude filter. For a complete list of tracked companies and their domains, refer to the /companies endpoint.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    excludeCompanyDomain?: Array<string> | null;
    /**
     * Filter articles by company stock symbols (e.g., AAPL, MSFT). Accepts either a single symbol or an array. Multiple values create an OR filter. For a complete list of tracked companies and their symbols, refer to the /companies endpoint.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    companySymbol?: Array<string> | null;
    /**
     * Exclude articles related to companies with specific stock symbols. Accepts either a single symbol or an array. Multiple values create an AND-exclude filter. For a complete list of tracked companies and their symbols, refer to the /companies endpoint.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    excludeCompanySymbol?: Array<string> | null;
    /**
     * Filter articles by company name mentions. Accepts either a single name or an array. Performs exact matching on company names. Multiple values create an OR filter. For a complete list of tracked companies and their names, refer to the /companies endpoint.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    companyName?: Array<string> | null;
    /**
     * Filter articles by Wikidata IDs of mentioned people. Accepts either a single ID or an array. Multiple values create an OR filter. For a complete list of tracked individuals and their Wikidata IDs, refer to the /people endpoint.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    personWikidataId?: Array<string> | null;
    /**
     * Exclude articles mentioning people with specific Wikidata IDs. Accepts either a single ID or an array. Multiple values create an AND-exclude filter. For a complete list of tracked individuals and their Wikidata IDs, refer to the /people endpoint.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    excludePersonWikidataId?: Array<string> | null;
    /**
     * Filter articles by exact person name matches. Accepts either a single name or an array. Does not support Boolean operators or wildcards. Multiple values create an OR filter. For a complete list of tracked individuals and their names, refer to the /people endpoint.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    personName?: Array<string> | null;
    /**
     * Exclude articles mentioning specific people by name. Accepts either a single name or an array. Multiple values create an AND-exclude filter. For a complete list of tracked individuals and their names, refer to the /people endpoint.
     * @type {Array<string>}
     * @memberof ArticleSearchFilter
     */
    excludePersonName?: Array<string> | null;
    /**
     * Adds additional AND filter objects. These objects must be of the same type as the original filter object and will be combined with the existing filter using the AND logical operator.
     * @type {Array<ArticleSearchFilter>}
     * @memberof ArticleSearchFilter
     */
    aND?: Array<ArticleSearchFilter> | null;
    /**
     * Adds additional OR filter objects. These objects must be of the same type as the original filter object and will be combined with the existing filter using the OR logical operator.
     * @type {Array<ArticleSearchFilter>}
     * @memberof ArticleSearchFilter
     */
    oR?: Array<ArticleSearchFilter> | null;
    /**
     * A filter object for logical NOT operations
     * @type {Array<ArticleSearchFilter>}
     * @memberof ArticleSearchFilter
     */
    nOT?: Array<ArticleSearchFilter> | null;
}
/**
 * Check if a given object implements the ArticleSearchFilter interface.
 */
declare function instanceOfArticleSearchFilter(value: object): value is ArticleSearchFilter;
declare function ArticleSearchFilterFromJSON(json: any): ArticleSearchFilter;
declare function ArticleSearchFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): ArticleSearchFilter;
declare function ArticleSearchFilterToJSON(json: any): ArticleSearchFilter;
declare function ArticleSearchFilterToJSONTyped(value?: ArticleSearchFilter | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface ArticleSearchParams
 */
interface ArticleSearchParams {
    /**
     * Natural language query to search the news articles database
     * @type {string}
     * @memberof ArticleSearchParams
     */
    prompt: string;
    /**
     *
     * @type {ArticleSearchFilter}
     * @memberof ArticleSearchParams
     */
    filter?: ArticleSearchFilter;
    /**
     * 'pubDateFrom' filter, will search articles published after the specified date, the date could be passed as ISO or 'yyyy-mm-dd'. Date time in ISO format, ie. 2024-01-01T00:00:00 - Default: Only articles with a pubDate within the last 30 days of the request
     * @type {Date}
     * @memberof ArticleSearchParams
     */
    pubDateFrom?: Date | null;
    /**
     * 'pubDateFrom' filter, will search articles published before the specified date, the date could be passed as ISO or 'yyyy-mm-dd'. Date time in ISO format, ie. 2024-01-01T00:00:00
     * @type {Date}
     * @memberof ArticleSearchParams
     */
    pubDateTo?: Date | null;
    /**
     * Whether to return reprints in the response or not. Reprints are usually wired articles from sources like AP or Reuters that are reprinted in multiple sources at the same time. By default, this parameter is 'true'.
     * @type {boolean}
     * @memberof ArticleSearchParams
     */
    showReprints?: boolean | null;
    /**
     * The number of items per page.
     * @type {number}
     * @memberof ArticleSearchParams
     */
    size?: number | null;
    /**
     * The page number to retrieve.
     * @type {number}
     * @memberof ArticleSearchParams
     */
    page?: number | null;
}
/**
 * Check if a given object implements the ArticleSearchParams interface.
 */
declare function instanceOfArticleSearchParams(value: object): value is ArticleSearchParams;
declare function ArticleSearchParamsFromJSON(json: any): ArticleSearchParams;
declare function ArticleSearchParamsFromJSONTyped(json: any, ignoreDiscriminator: boolean): ArticleSearchParams;
declare function ArticleSearchParamsToJSON(json: any): ArticleSearchParams;
declare function ArticleSearchParamsToJSONTyped(value?: ArticleSearchParams | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface TooManyRequestsExceptionCauseStackTraceInner
 */
interface TooManyRequestsExceptionCauseStackTraceInner {
    /**
     *
     * @type {string}
     * @memberof TooManyRequestsExceptionCauseStackTraceInner
     */
    classLoaderName?: string;
    /**
     *
     * @type {string}
     * @memberof TooManyRequestsExceptionCauseStackTraceInner
     */
    moduleName?: string;
    /**
     *
     * @type {string}
     * @memberof TooManyRequestsExceptionCauseStackTraceInner
     */
    moduleVersion?: string;
    /**
     *
     * @type {string}
     * @memberof TooManyRequestsExceptionCauseStackTraceInner
     */
    methodName?: string;
    /**
     *
     * @type {string}
     * @memberof TooManyRequestsExceptionCauseStackTraceInner
     */
    fileName?: string;
    /**
     *
     * @type {number}
     * @memberof TooManyRequestsExceptionCauseStackTraceInner
     */
    lineNumber?: number;
    /**
     *
     * @type {boolean}
     * @memberof TooManyRequestsExceptionCauseStackTraceInner
     */
    nativeMethod?: boolean;
    /**
     *
     * @type {string}
     * @memberof TooManyRequestsExceptionCauseStackTraceInner
     */
    className?: string;
}
/**
 * Check if a given object implements the TooManyRequestsExceptionCauseStackTraceInner interface.
 */
declare function instanceOfTooManyRequestsExceptionCauseStackTraceInner(value: object): value is TooManyRequestsExceptionCauseStackTraceInner;
declare function TooManyRequestsExceptionCauseStackTraceInnerFromJSON(json: any): TooManyRequestsExceptionCauseStackTraceInner;
declare function TooManyRequestsExceptionCauseStackTraceInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): TooManyRequestsExceptionCauseStackTraceInner;
declare function TooManyRequestsExceptionCauseStackTraceInnerToJSON(json: any): TooManyRequestsExceptionCauseStackTraceInner;
declare function TooManyRequestsExceptionCauseStackTraceInnerToJSONTyped(value?: TooManyRequestsExceptionCauseStackTraceInner | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface TooManyRequestsExceptionCause
 */
interface TooManyRequestsExceptionCause {
    /**
     *
     * @type {Array<TooManyRequestsExceptionCauseStackTraceInner>}
     * @memberof TooManyRequestsExceptionCause
     */
    stackTrace?: Array<TooManyRequestsExceptionCauseStackTraceInner>;
    /**
     *
     * @type {string}
     * @memberof TooManyRequestsExceptionCause
     */
    message?: string;
    /**
     *
     * @type {string}
     * @memberof TooManyRequestsExceptionCause
     */
    localizedMessage?: string;
}
/**
 * Check if a given object implements the TooManyRequestsExceptionCause interface.
 */
declare function instanceOfTooManyRequestsExceptionCause(value: object): value is TooManyRequestsExceptionCause;
declare function TooManyRequestsExceptionCauseFromJSON(json: any): TooManyRequestsExceptionCause;
declare function TooManyRequestsExceptionCauseFromJSONTyped(json: any, ignoreDiscriminator: boolean): TooManyRequestsExceptionCause;
declare function TooManyRequestsExceptionCauseToJSON(json: any): TooManyRequestsExceptionCause;
declare function TooManyRequestsExceptionCauseToJSONTyped(value?: TooManyRequestsExceptionCause | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface TooManyRequestsExceptionSuppressedInner
 */
interface TooManyRequestsExceptionSuppressedInner {
    /**
     *
     * @type {Array<TooManyRequestsExceptionCauseStackTraceInner>}
     * @memberof TooManyRequestsExceptionSuppressedInner
     */
    stackTrace?: Array<TooManyRequestsExceptionCauseStackTraceInner>;
    /**
     *
     * @type {string}
     * @memberof TooManyRequestsExceptionSuppressedInner
     */
    message?: string;
    /**
     *
     * @type {string}
     * @memberof TooManyRequestsExceptionSuppressedInner
     */
    localizedMessage?: string;
}
/**
 * Check if a given object implements the TooManyRequestsExceptionSuppressedInner interface.
 */
declare function instanceOfTooManyRequestsExceptionSuppressedInner(value: object): value is TooManyRequestsExceptionSuppressedInner;
declare function TooManyRequestsExceptionSuppressedInnerFromJSON(json: any): TooManyRequestsExceptionSuppressedInner;
declare function TooManyRequestsExceptionSuppressedInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): TooManyRequestsExceptionSuppressedInner;
declare function TooManyRequestsExceptionSuppressedInnerToJSON(json: any): TooManyRequestsExceptionSuppressedInner;
declare function TooManyRequestsExceptionSuppressedInnerToJSONTyped(value?: TooManyRequestsExceptionSuppressedInner | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface AuthException
 */
interface AuthException {
    /**
     *
     * @type {TooManyRequestsExceptionCause}
     * @memberof AuthException
     */
    cause?: TooManyRequestsExceptionCause | null;
    /**
     *
     * @type {Array<TooManyRequestsExceptionCauseStackTraceInner>}
     * @memberof AuthException
     */
    stackTrace?: Array<TooManyRequestsExceptionCauseStackTraceInner> | null;
    /**
     *
     * @type {string}
     * @memberof AuthException
     */
    statusCode?: AuthExceptionStatusCodeEnum | null;
    /**
     *
     * @type {string}
     * @memberof AuthException
     */
    message?: string | null;
    /**
     *
     * @type {Array<TooManyRequestsExceptionSuppressedInner>}
     * @memberof AuthException
     */
    suppressed?: Array<TooManyRequestsExceptionSuppressedInner> | null;
    /**
     *
     * @type {string}
     * @memberof AuthException
     */
    localizedMessage?: string | null;
}
/**
 * @export
 */
declare const AuthExceptionStatusCodeEnum: {
    readonly _100Continue: "100 CONTINUE";
    readonly _101SwitchingProtocols: "101 SWITCHING_PROTOCOLS";
    readonly _102Processing: "102 PROCESSING";
    readonly _103Checkpoint: "103 CHECKPOINT";
    readonly _200Ok: "200 OK";
    readonly _201Created: "201 CREATED";
    readonly _202Accepted: "202 ACCEPTED";
    readonly _203NonAuthoritativeInformation: "203 NON_AUTHORITATIVE_INFORMATION";
    readonly _204NoContent: "204 NO_CONTENT";
    readonly _205ResetContent: "205 RESET_CONTENT";
    readonly _206PartialContent: "206 PARTIAL_CONTENT";
    readonly _207MultiStatus: "207 MULTI_STATUS";
    readonly _208AlreadyReported: "208 ALREADY_REPORTED";
    readonly _226ImUsed: "226 IM_USED";
    readonly _300MultipleChoices: "300 MULTIPLE_CHOICES";
    readonly _301MovedPermanently: "301 MOVED_PERMANENTLY";
    readonly _302Found: "302 FOUND";
    readonly _302MovedTemporarily: "302 MOVED_TEMPORARILY";
    readonly _303SeeOther: "303 SEE_OTHER";
    readonly _304NotModified: "304 NOT_MODIFIED";
    readonly _305UseProxy: "305 USE_PROXY";
    readonly _307TemporaryRedirect: "307 TEMPORARY_REDIRECT";
    readonly _308PermanentRedirect: "308 PERMANENT_REDIRECT";
    readonly _400BadRequest: "400 BAD_REQUEST";
    readonly _401Unauthorized: "401 UNAUTHORIZED";
    readonly _402PaymentRequired: "402 PAYMENT_REQUIRED";
    readonly _403Forbidden: "403 FORBIDDEN";
    readonly _404NotFound: "404 NOT_FOUND";
    readonly _405MethodNotAllowed: "405 METHOD_NOT_ALLOWED";
    readonly _406NotAcceptable: "406 NOT_ACCEPTABLE";
    readonly _407ProxyAuthenticationRequired: "407 PROXY_AUTHENTICATION_REQUIRED";
    readonly _408RequestTimeout: "408 REQUEST_TIMEOUT";
    readonly _409Conflict: "409 CONFLICT";
    readonly _410Gone: "410 GONE";
    readonly _411LengthRequired: "411 LENGTH_REQUIRED";
    readonly _412PreconditionFailed: "412 PRECONDITION_FAILED";
    readonly _413PayloadTooLarge: "413 PAYLOAD_TOO_LARGE";
    readonly _413RequestEntityTooLarge: "413 REQUEST_ENTITY_TOO_LARGE";
    readonly _414UriTooLong: "414 URI_TOO_LONG";
    readonly _414RequestUriTooLong: "414 REQUEST_URI_TOO_LONG";
    readonly _415UnsupportedMediaType: "415 UNSUPPORTED_MEDIA_TYPE";
    readonly _416RequestedRangeNotSatisfiable: "416 REQUESTED_RANGE_NOT_SATISFIABLE";
    readonly _417ExpectationFailed: "417 EXPECTATION_FAILED";
    readonly _418IAmATeapot: "418 I_AM_A_TEAPOT";
    readonly _419InsufficientSpaceOnResource: "419 INSUFFICIENT_SPACE_ON_RESOURCE";
    readonly _420MethodFailure: "420 METHOD_FAILURE";
    readonly _421DestinationLocked: "421 DESTINATION_LOCKED";
    readonly _422UnprocessableEntity: "422 UNPROCESSABLE_ENTITY";
    readonly _423Locked: "423 LOCKED";
    readonly _424FailedDependency: "424 FAILED_DEPENDENCY";
    readonly _425TooEarly: "425 TOO_EARLY";
    readonly _426UpgradeRequired: "426 UPGRADE_REQUIRED";
    readonly _428PreconditionRequired: "428 PRECONDITION_REQUIRED";
    readonly _429TooManyRequests: "429 TOO_MANY_REQUESTS";
    readonly _431RequestHeaderFieldsTooLarge: "431 REQUEST_HEADER_FIELDS_TOO_LARGE";
    readonly _451UnavailableForLegalReasons: "451 UNAVAILABLE_FOR_LEGAL_REASONS";
    readonly _500InternalServerError: "500 INTERNAL_SERVER_ERROR";
    readonly _501NotImplemented: "501 NOT_IMPLEMENTED";
    readonly _502BadGateway: "502 BAD_GATEWAY";
    readonly _503ServiceUnavailable: "503 SERVICE_UNAVAILABLE";
    readonly _504GatewayTimeout: "504 GATEWAY_TIMEOUT";
    readonly _505HttpVersionNotSupported: "505 HTTP_VERSION_NOT_SUPPORTED";
    readonly _506VariantAlsoNegotiates: "506 VARIANT_ALSO_NEGOTIATES";
    readonly _507InsufficientStorage: "507 INSUFFICIENT_STORAGE";
    readonly _508LoopDetected: "508 LOOP_DETECTED";
    readonly _509BandwidthLimitExceeded: "509 BANDWIDTH_LIMIT_EXCEEDED";
    readonly _510NotExtended: "510 NOT_EXTENDED";
    readonly _511NetworkAuthenticationRequired: "511 NETWORK_AUTHENTICATION_REQUIRED";
};
type AuthExceptionStatusCodeEnum = (typeof AuthExceptionStatusCodeEnum)[keyof typeof AuthExceptionStatusCodeEnum];
/**
 * Check if a given object implements the AuthException interface.
 */
declare function instanceOfAuthException(value: object): value is AuthException;
declare function AuthExceptionFromJSON(json: any): AuthException;
declare function AuthExceptionFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthException;
declare function AuthExceptionToJSON(json: any): AuthException;
declare function AuthExceptionToJSONTyped(value?: AuthException | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface SymbolHolder
 */
interface SymbolHolder {
    /**
     *
     * @type {string}
     * @memberof SymbolHolder
     */
    symbol?: string | null;
    /**
     *
     * @type {string}
     * @memberof SymbolHolder
     */
    exchange?: string | null;
    /**
     *
     * @type {string}
     * @memberof SymbolHolder
     */
    exchangeShortName?: string | null;
    /**
     *
     * @type {string}
     * @memberof SymbolHolder
     */
    ipoDate?: string | null;
}
/**
 * Check if a given object implements the SymbolHolder interface.
 */
declare function instanceOfSymbolHolder(value: object): value is SymbolHolder;
declare function SymbolHolderFromJSON(json: any): SymbolHolder;
declare function SymbolHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): SymbolHolder;
declare function SymbolHolderToJSON(json: any): SymbolHolder;
declare function SymbolHolderToJSONTyped(value?: SymbolHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface WebResources
 */
interface WebResources {
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    careers?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    about?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    blog?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    events?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    sitemap?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    updates?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    linkedin?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    facebook?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    instagram?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    medium?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    reddit?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    threads?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    tiktok?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    x?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    wellfound?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    youtube?: string | null;
    /**
     *
     * @type {string}
     * @memberof WebResources
     */
    wikipedia?: string | null;
}
/**
 * Check if a given object implements the WebResources interface.
 */
declare function instanceOfWebResources(value: object): value is WebResources;
declare function WebResourcesFromJSON(json: any): WebResources;
declare function WebResourcesFromJSONTyped(json: any, ignoreDiscriminator: boolean): WebResources;
declare function WebResourcesToJSON(json: any): WebResources;
declare function WebResourcesToJSONTyped(value?: WebResources | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface Company
 */
interface Company {
    /**
     *
     * @type {string}
     * @memberof Company
     */
    id?: string | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    name?: string | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    updatedAt?: string | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    primaryRecordId?: string | null;
    /**
     *
     * @type {Array<string>}
     * @memberof Company
     */
    altNames?: Array<string> | null;
    /**
     *
     * @type {Array<string>}
     * @memberof Company
     */
    domains?: Array<string> | null;
    /**
     *
     * @type {number}
     * @memberof Company
     */
    monthlyVisits?: number | null;
    /**
     *
     * @type {number}
     * @memberof Company
     */
    globalRank?: number | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    description?: string | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    ceo?: string | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    industry?: string | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    sector?: string | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    country?: string | null;
    /**
     *
     * @type {number}
     * @memberof Company
     */
    fullTimeEmployees?: number | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    address?: string | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    city?: string | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    state?: string | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    zip?: string | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    logo?: string | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    favicon?: string | null;
    /**
     *
     * @type {boolean}
     * @memberof Company
     */
    isEtf?: boolean | null;
    /**
     *
     * @type {boolean}
     * @memberof Company
     */
    isActivelyTrading?: boolean | null;
    /**
     *
     * @type {boolean}
     * @memberof Company
     */
    isFund?: boolean | null;
    /**
     *
     * @type {boolean}
     * @memberof Company
     */
    isAdr?: boolean | null;
    /**
     *
     * @type {Array<SymbolHolder>}
     * @memberof Company
     */
    symbols?: Array<SymbolHolder> | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    naics?: string | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    sic?: string | null;
    /**
     *
     * @type {number}
     * @memberof Company
     */
    yearFounded?: number | null;
    /**
     *
     * @type {string}
     * @memberof Company
     */
    revenue?: string | null;
    /**
     *
     * @type {WebResources}
     * @memberof Company
     */
    webResources?: WebResources;
}
/**
 * Check if a given object implements the Company interface.
 */
declare function instanceOfCompany(value: object): value is Company;
declare function CompanyFromJSON(json: any): Company;
declare function CompanyFromJSONTyped(json: any, ignoreDiscriminator: boolean): Company;
declare function CompanyToJSON(json: any): Company;
declare function CompanyToJSONTyped(value?: Company | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 * Company search result
 * @export
 * @interface CompanySearchResult
 */
interface CompanySearchResult {
    /**
     *
     * @type {number}
     * @memberof CompanySearchResult
     */
    status: number;
    /**
     *
     * @type {number}
     * @memberof CompanySearchResult
     */
    numResults: number;
    /**
     *
     * @type {Array<Company>}
     * @memberof CompanySearchResult
     */
    results: Array<Company>;
}
/**
 * Check if a given object implements the CompanySearchResult interface.
 */
declare function instanceOfCompanySearchResult(value: object): value is CompanySearchResult;
declare function CompanySearchResultFromJSON(json: any): CompanySearchResult;
declare function CompanySearchResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompanySearchResult;
declare function CompanySearchResultToJSON(json: any): CompanySearchResult;
declare function CompanySearchResultToJSONTyped(value?: CompanySearchResult | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface IllegalParameterException
 */
interface IllegalParameterException {
    /**
     *
     * @type {TooManyRequestsExceptionCause}
     * @memberof IllegalParameterException
     */
    cause?: TooManyRequestsExceptionCause | null;
    /**
     *
     * @type {Array<TooManyRequestsExceptionCauseStackTraceInner>}
     * @memberof IllegalParameterException
     */
    stackTrace?: Array<TooManyRequestsExceptionCauseStackTraceInner> | null;
    /**
     *
     * @type {string}
     * @memberof IllegalParameterException
     */
    message?: string | null;
    /**
     *
     * @type {Array<TooManyRequestsExceptionSuppressedInner>}
     * @memberof IllegalParameterException
     */
    suppressed?: Array<TooManyRequestsExceptionSuppressedInner> | null;
    /**
     *
     * @type {string}
     * @memberof IllegalParameterException
     */
    localizedMessage?: string | null;
}
/**
 * Check if a given object implements the IllegalParameterException interface.
 */
declare function instanceOfIllegalParameterException(value: object): value is IllegalParameterException;
declare function IllegalParameterExceptionFromJSON(json: any): IllegalParameterException;
declare function IllegalParameterExceptionFromJSONTyped(json: any, ignoreDiscriminator: boolean): IllegalParameterException;
declare function IllegalParameterExceptionToJSON(json: any): IllegalParameterException;
declare function IllegalParameterExceptionToJSONTyped(value?: IllegalParameterException | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface ImageHolder
 */
interface ImageHolder {
    /**
     *
     * @type {string}
     * @memberof ImageHolder
     */
    url?: string | null;
}
/**
 * Check if a given object implements the ImageHolder interface.
 */
declare function instanceOfImageHolder(value: object): value is ImageHolder;
declare function ImageHolderFromJSON(json: any): ImageHolder;
declare function ImageHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): ImageHolder;
declare function ImageHolderToJSON(json: any): ImageHolder;
declare function ImageHolderToJSONTyped(value?: ImageHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface InternalErrorException
 */
interface InternalErrorException {
    /**
     *
     * @type {TooManyRequestsExceptionCause}
     * @memberof InternalErrorException
     */
    cause?: TooManyRequestsExceptionCause | null;
    /**
     *
     * @type {Array<TooManyRequestsExceptionCauseStackTraceInner>}
     * @memberof InternalErrorException
     */
    stackTrace?: Array<TooManyRequestsExceptionCauseStackTraceInner> | null;
    /**
     *
     * @type {string}
     * @memberof InternalErrorException
     */
    message?: string | null;
    /**
     *
     * @type {Array<TooManyRequestsExceptionSuppressedInner>}
     * @memberof InternalErrorException
     */
    suppressed?: Array<TooManyRequestsExceptionSuppressedInner> | null;
    /**
     *
     * @type {string}
     * @memberof InternalErrorException
     */
    localizedMessage?: string | null;
}
/**
 * Check if a given object implements the InternalErrorException interface.
 */
declare function instanceOfInternalErrorException(value: object): value is InternalErrorException;
declare function InternalErrorExceptionFromJSON(json: any): InternalErrorException;
declare function InternalErrorExceptionFromJSONTyped(json: any, ignoreDiscriminator: boolean): InternalErrorException;
declare function InternalErrorExceptionToJSON(json: any): InternalErrorException;
declare function InternalErrorExceptionToJSONTyped(value?: InternalErrorException | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 * Journalist search result
 * @export
 * @interface JournalistSearchResult
 */
interface JournalistSearchResult {
    /**
     *
     * @type {number}
     * @memberof JournalistSearchResult
     */
    status: number;
    /**
     *
     * @type {number}
     * @memberof JournalistSearchResult
     */
    numResults: number;
    /**
     *
     * @type {Array<Journalist>}
     * @memberof JournalistSearchResult
     */
    results: Array<Journalist>;
}
/**
 * Check if a given object implements the JournalistSearchResult interface.
 */
declare function instanceOfJournalistSearchResult(value: object): value is JournalistSearchResult;
declare function JournalistSearchResultFromJSON(json: any): JournalistSearchResult;
declare function JournalistSearchResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): JournalistSearchResult;
declare function JournalistSearchResultToJSON(json: any): JournalistSearchResult;
declare function JournalistSearchResultToJSONTyped(value?: JournalistSearchResult | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface NotFoundException
 */
interface NotFoundException {
    /**
     *
     * @type {TooManyRequestsExceptionCause}
     * @memberof NotFoundException
     */
    cause?: TooManyRequestsExceptionCause | null;
    /**
     *
     * @type {Array<TooManyRequestsExceptionCauseStackTraceInner>}
     * @memberof NotFoundException
     */
    stackTrace?: Array<TooManyRequestsExceptionCauseStackTraceInner> | null;
    /**
     *
     * @type {string}
     * @memberof NotFoundException
     */
    message?: string | null;
    /**
     *
     * @type {Array<TooManyRequestsExceptionSuppressedInner>}
     * @memberof NotFoundException
     */
    suppressed?: Array<TooManyRequestsExceptionSuppressedInner> | null;
    /**
     *
     * @type {string}
     * @memberof NotFoundException
     */
    localizedMessage?: string | null;
}
/**
 * Check if a given object implements the NotFoundException interface.
 */
declare function instanceOfNotFoundException(value: object): value is NotFoundException;
declare function NotFoundExceptionFromJSON(json: any): NotFoundException;
declare function NotFoundExceptionFromJSONTyped(json: any, ignoreDiscriminator: boolean): NotFoundException;
declare function NotFoundExceptionToJSON(json: any): NotFoundException;
declare function NotFoundExceptionToJSONTyped(value?: NotFoundException | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface WikidataDateHolder
 */
interface WikidataDateHolder {
    /**
     *
     * @type {string}
     * @memberof WikidataDateHolder
     */
    time?: string | null;
    /**
     *
     * @type {string}
     * @memberof WikidataDateHolder
     */
    precision?: string | null;
}
/**
 * Check if a given object implements the WikidataDateHolder interface.
 */
declare function instanceOfWikidataDateHolder(value: object): value is WikidataDateHolder;
declare function WikidataDateHolderFromJSON(json: any): WikidataDateHolder;
declare function WikidataDateHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): WikidataDateHolder;
declare function WikidataDateHolderToJSON(json: any): WikidataDateHolder;
declare function WikidataDateHolderToJSONTyped(value?: WikidataDateHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface WikidataPoliticalPartyHolder
 */
interface WikidataPoliticalPartyHolder {
    /**
     *
     * @type {string}
     * @memberof WikidataPoliticalPartyHolder
     */
    wikidataId?: string | null;
    /**
     *
     * @type {string}
     * @memberof WikidataPoliticalPartyHolder
     */
    label?: string | null;
    /**
     *
     * @type {WikidataDateHolder}
     * @memberof WikidataPoliticalPartyHolder
     */
    startTime?: WikidataDateHolder;
    /**
     *
     * @type {WikidataDateHolder}
     * @memberof WikidataPoliticalPartyHolder
     */
    endTime?: WikidataDateHolder;
}
/**
 * Check if a given object implements the WikidataPoliticalPartyHolder interface.
 */
declare function instanceOfWikidataPoliticalPartyHolder(value: object): value is WikidataPoliticalPartyHolder;
declare function WikidataPoliticalPartyHolderFromJSON(json: any): WikidataPoliticalPartyHolder;
declare function WikidataPoliticalPartyHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): WikidataPoliticalPartyHolder;
declare function WikidataPoliticalPartyHolderToJSON(json: any): WikidataPoliticalPartyHolder;
declare function WikidataPoliticalPartyHolderToJSONTyped(value?: WikidataPoliticalPartyHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface WikidataLabelHolder
 */
interface WikidataLabelHolder {
    /**
     *
     * @type {string}
     * @memberof WikidataLabelHolder
     */
    wikidataId?: string | null;
    /**
     *
     * @type {string}
     * @memberof WikidataLabelHolder
     */
    label?: string | null;
}
/**
 * Check if a given object implements the WikidataLabelHolder interface.
 */
declare function instanceOfWikidataLabelHolder(value: object): value is WikidataLabelHolder;
declare function WikidataLabelHolderFromJSON(json: any): WikidataLabelHolder;
declare function WikidataLabelHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): WikidataLabelHolder;
declare function WikidataLabelHolderToJSON(json: any): WikidataLabelHolder;
declare function WikidataLabelHolderToJSONTyped(value?: WikidataLabelHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface WikidataPositionHolder
 */
interface WikidataPositionHolder {
    /**
     *
     * @type {string}
     * @memberof WikidataPositionHolder
     */
    wikidataId?: string | null;
    /**
     *
     * @type {string}
     * @memberof WikidataPositionHolder
     */
    label?: string | null;
    /**
     *
     * @type {WikidataDateHolder}
     * @memberof WikidataPositionHolder
     */
    startTime?: WikidataDateHolder;
    /**
     *
     * @type {WikidataDateHolder}
     * @memberof WikidataPositionHolder
     */
    endTime?: WikidataDateHolder;
    /**
     *
     * @type {WikidataLabelHolder}
     * @memberof WikidataPositionHolder
     */
    employer?: WikidataLabelHolder;
}
/**
 * Check if a given object implements the WikidataPositionHolder interface.
 */
declare function instanceOfWikidataPositionHolder(value: object): value is WikidataPositionHolder;
declare function WikidataPositionHolderFromJSON(json: any): WikidataPositionHolder;
declare function WikidataPositionHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): WikidataPositionHolder;
declare function WikidataPositionHolderToJSON(json: any): WikidataPositionHolder;
declare function WikidataPositionHolderToJSONTyped(value?: WikidataPositionHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface Person
 */
interface Person {
    /**
     *
     * @type {string}
     * @memberof Person
     */
    wikidataId?: string | null;
    /**
     *
     * @type {string}
     * @memberof Person
     */
    createdAt?: string | null;
    /**
     *
     * @type {string}
     * @memberof Person
     */
    updatedAt?: string | null;
    /**
     *
     * @type {string}
     * @memberof Person
     */
    name?: string | null;
    /**
     *
     * @type {WikidataLabelHolder}
     * @memberof Person
     */
    gender?: WikidataLabelHolder;
    /**
     *
     * @type {WikidataDateHolder}
     * @memberof Person
     */
    dateOfBirth?: WikidataDateHolder;
    /**
     *
     * @type {WikidataDateHolder}
     * @memberof Person
     */
    dateOfDeath?: WikidataDateHolder;
    /**
     *
     * @type {string}
     * @memberof Person
     */
    description?: string | null;
    /**
     *
     * @type {Array<string>}
     * @memberof Person
     */
    aliases?: Array<string> | null;
    /**
     *
     * @type {Array<WikidataLabelHolder>}
     * @memberof Person
     */
    occupation?: Array<WikidataLabelHolder> | null;
    /**
     *
     * @type {Array<WikidataPositionHolder>}
     * @memberof Person
     */
    position?: Array<WikidataPositionHolder> | null;
    /**
     *
     * @type {Array<WikidataPoliticalPartyHolder>}
     * @memberof Person
     */
    politicalParty?: Array<WikidataPoliticalPartyHolder> | null;
    /**
     *
     * @type {ImageHolder}
     * @memberof Person
     */
    image?: ImageHolder;
    /**
     *
     * @type {string}
     * @memberof Person
     */
    _abstract?: string | null;
}
/**
 * Check if a given object implements the Person interface.
 */
declare function instanceOfPerson(value: object): value is Person;
declare function PersonFromJSON(json: any): Person;
declare function PersonFromJSONTyped(json: any, ignoreDiscriminator: boolean): Person;
declare function PersonToJSON(json: any): Person;
declare function PersonToJSONTyped(value?: Person | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 * Person search result
 * @export
 * @interface PeopleSearchResult
 */
interface PeopleSearchResult {
    /**
     *
     * @type {number}
     * @memberof PeopleSearchResult
     */
    status: number;
    /**
     *
     * @type {number}
     * @memberof PeopleSearchResult
     */
    numResults: number;
    /**
     *
     * @type {Array<Person>}
     * @memberof PeopleSearchResult
     */
    results: Array<Person>;
}
/**
 * Check if a given object implements the PeopleSearchResult interface.
 */
declare function instanceOfPeopleSearchResult(value: object): value is PeopleSearchResult;
declare function PeopleSearchResultFromJSON(json: any): PeopleSearchResult;
declare function PeopleSearchResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): PeopleSearchResult;
declare function PeopleSearchResultToJSON(json: any): PeopleSearchResult;
declare function PeopleSearchResultToJSONTyped(value?: PeopleSearchResult | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface QuerySearchResult
 */
interface QuerySearchResult {
    /**
     *
     * @type {number}
     * @memberof QuerySearchResult
     */
    status: number;
    /**
     *
     * @type {number}
     * @memberof QuerySearchResult
     */
    numResults: number;
    /**
     *
     * @type {Array<Article>}
     * @memberof QuerySearchResult
     */
    articles: Array<Article>;
}
/**
 * Check if a given object implements the QuerySearchResult interface.
 */
declare function instanceOfQuerySearchResult(value: object): value is QuerySearchResult;
declare function QuerySearchResultFromJSON(json: any): QuerySearchResult;
declare function QuerySearchResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): QuerySearchResult;
declare function QuerySearchResultToJSON(json: any): QuerySearchResult;
declare function QuerySearchResultToJSONTyped(value?: QuerySearchResult | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface ScoredArticle
 */
interface ScoredArticle {
    /**
     *
     * @type {number}
     * @memberof ScoredArticle
     */
    score?: number | null;
    /**
     *
     * @type {Article}
     * @memberof ScoredArticle
     */
    data?: Article;
}
/**
 * Check if a given object implements the ScoredArticle interface.
 */
declare function instanceOfScoredArticle(value: object): value is ScoredArticle;
declare function ScoredArticleFromJSON(json: any): ScoredArticle;
declare function ScoredArticleFromJSONTyped(json: any, ignoreDiscriminator: boolean): ScoredArticle;
declare function ScoredArticleToJSON(json: any): ScoredArticle;
declare function ScoredArticleToJSONTyped(value?: ScoredArticle | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 */
declare const SortBy: {
    readonly CreatedAt: "createdAt";
    readonly UpdatedAt: "updatedAt";
    readonly Relevance: "relevance";
    readonly Count: "count";
    readonly TotalCount: "totalCount";
};
type SortBy = (typeof SortBy)[keyof typeof SortBy];
declare function instanceOfSortBy(value: any): boolean;
declare function SortByFromJSON(json: any): SortBy;
declare function SortByFromJSONTyped(json: any, ignoreDiscriminator: boolean): SortBy;
declare function SortByToJSON(value?: SortBy | null): any;
declare function SortByToJSONTyped(value: any, ignoreDiscriminator: boolean): SortBy;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface SourceTopStatHolder
 */
interface SourceTopStatHolder {
    /**
     *
     * @type {string}
     * @memberof SourceTopStatHolder
     */
    name?: string | null;
    /**
     *
     * @type {number}
     * @memberof SourceTopStatHolder
     */
    count?: number | null;
}
/**
 * Check if a given object implements the SourceTopStatHolder interface.
 */
declare function instanceOfSourceTopStatHolder(value: object): value is SourceTopStatHolder;
declare function SourceTopStatHolderFromJSON(json: any): SourceTopStatHolder;
declare function SourceTopStatHolderFromJSONTyped(json: any, ignoreDiscriminator: boolean): SourceTopStatHolder;
declare function SourceTopStatHolderToJSON(json: any): SourceTopStatHolder;
declare function SourceTopStatHolderToJSONTyped(value?: SourceTopStatHolder | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface Source
 */
interface Source {
    /**
     *
     * @type {string}
     * @memberof Source
     */
    id?: string | null;
    /**
     *
     * @type {string}
     * @memberof Source
     */
    domain?: string | null;
    /**
     *
     * @type {string}
     * @memberof Source
     */
    name?: string | null;
    /**
     *
     * @type {string}
     * @memberof Source
     */
    primaryRecordId?: string | null;
    /**
     *
     * @type {string}
     * @memberof Source
     */
    updatedAt?: string | null;
    /**
     *
     * @type {Array<string>}
     * @memberof Source
     */
    altNames?: Array<string> | null;
    /**
     *
     * @type {string}
     * @memberof Source
     */
    description?: string | null;
    /**
     *
     * @type {number}
     * @memberof Source
     */
    avgMonthlyPosts?: number | null;
    /**
     *
     * @type {boolean}
     * @memberof Source
     */
    paywall?: boolean | null;
    /**
     *
     * @type {SourceLocation}
     * @memberof Source
     */
    location?: SourceLocation;
    /**
     *
     * @type {Array<SourceTopStatHolder>}
     * @memberof Source
     */
    topCategories?: Array<SourceTopStatHolder> | null;
    /**
     *
     * @type {Array<SourceTopStatHolder>}
     * @memberof Source
     */
    topTopics?: Array<SourceTopStatHolder> | null;
    /**
     *
     * @type {Array<SourceTopStatHolder>}
     * @memberof Source
     */
    topCountries?: Array<SourceTopStatHolder> | null;
    /**
     *
     * @type {Array<SourceTopStatHolder>}
     * @memberof Source
     */
    topLabels?: Array<SourceTopStatHolder> | null;
    /**
     *
     * @type {string}
     * @memberof Source
     */
    avgBiasRating?: string | null;
    /**
     *
     * @type {string}
     * @memberof Source
     */
    adFontesBiasRating?: string | null;
    /**
     *
     * @type {string}
     * @memberof Source
     */
    allSidesBiasRating?: string | null;
    /**
     *
     * @type {string}
     * @memberof Source
     */
    mbfcBiasRating?: string | null;
    /**
     *
     * @type {number}
     * @memberof Source
     */
    monthlyVisits?: number | null;
    /**
     *
     * @type {number}
     * @memberof Source
     */
    globalRank?: number | null;
    /**
     *
     * @type {ImageHolder}
     * @memberof Source
     */
    logoLarge?: ImageHolder;
    /**
     *
     * @type {ImageHolder}
     * @memberof Source
     */
    logoFavIcon?: ImageHolder;
    /**
     *
     * @type {ImageHolder}
     * @memberof Source
     */
    logoSquare?: ImageHolder;
}
/**
 * Check if a given object implements the Source interface.
 */
declare function instanceOfSource(value: object): value is Source;
declare function SourceFromJSON(json: any): Source;
declare function SourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): Source;
declare function SourceToJSON(json: any): Source;
declare function SourceToJSONTyped(value?: Source | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 * Source search result
 * @export
 * @interface SourceSearchResult
 */
interface SourceSearchResult {
    /**
     *
     * @type {number}
     * @memberof SourceSearchResult
     */
    status: number;
    /**
     *
     * @type {number}
     * @memberof SourceSearchResult
     */
    numResults: number;
    /**
     *
     * @type {Array<Source>}
     * @memberof SourceSearchResult
     */
    results: Array<Source>;
}
/**
 * Check if a given object implements the SourceSearchResult interface.
 */
declare function instanceOfSourceSearchResult(value: object): value is SourceSearchResult;
declare function SourceSearchResultFromJSON(json: any): SourceSearchResult;
declare function SourceSearchResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): SourceSearchResult;
declare function SourceSearchResultToJSON(json: any): SourceSearchResult;
declare function SourceSearchResultToJSONTyped(value?: SourceSearchResult | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 * Story search result
 * @export
 * @interface StorySearchResult
 */
interface StorySearchResult {
    /**
     *
     * @type {number}
     * @memberof StorySearchResult
     */
    status: number;
    /**
     *
     * @type {number}
     * @memberof StorySearchResult
     */
    numResults: number;
    /**
     *
     * @type {Array<NewsCluster>}
     * @memberof StorySearchResult
     */
    results: Array<NewsCluster>;
}
/**
 * Check if a given object implements the StorySearchResult interface.
 */
declare function instanceOfStorySearchResult(value: object): value is StorySearchResult;
declare function StorySearchResultFromJSON(json: any): StorySearchResult;
declare function StorySearchResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): StorySearchResult;
declare function StorySearchResultToJSON(json: any): StorySearchResult;
declare function StorySearchResultToJSONTyped(value?: StorySearchResult | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 * Request body for the Search-Summarizer endpoint. Contains the user’s summary instructions, how many articles to include, which fields to use, the retrieval method, and LLM generation settings.
 * @export
 * @interface SummaryBody
 */
interface SummaryBody {
    /**
     * Instructions guiding how the summary should be written. Maximum length: 2 048 characters.
     * @type {string}
     * @memberof SummaryBody
     */
    prompt?: string | null;
    /**
     * The maximum number of articles to factor into the summary.
     * @type {number}
     * @memberof SummaryBody
     */
    maxArticleCount?: number | null;
    /**
     * The maximum number of articles that should be returned in the response. This can be used to return fewer than maxArticleCount results.
     * @type {number}
     * @memberof SummaryBody
     */
    returnedArticleCount?: number | null;
    /**
     * Which article fields to include when generating the summary. Up to three values from TITLE, CONTENT, SUMMARY.
     * @type {string}
     * @memberof SummaryBody
     */
    summarizeFields?: SummaryBodySummarizeFieldsEnum | null;
    /**
     * Method for selecting articles: ARTICLES (include all matches) or CLUSTERS (one per cluster).
     * @type {string}
     * @memberof SummaryBody
     */
    method?: SummaryBodyMethodEnum | null;
    /**
     * The underlying LLM model to use for generation.
     * @type {string}
     * @memberof SummaryBody
     */
    model?: SummaryBodyModelEnum | null;
    /**
     * Sampling temperature for the LLM (0.0 = deterministic to 2.0 = very creative).
     * @type {number}
     * @memberof SummaryBody
     */
    temperature?: number | null;
    /**
     * Nucleus sampling (top-p) for the LLM (0.0 to 1.0).
     * @type {number}
     * @memberof SummaryBody
     */
    topP?: number | null;
    /**
     * Maximum number of tokens to generate in the summary.
     * @type {number}
     * @memberof SummaryBody
     */
    maxTokens?: number | null;
}
/**
 * @export
 */
declare const SummaryBodySummarizeFieldsEnum: {
    readonly Title: "TITLE";
    readonly Content: "CONTENT";
    readonly Summary: "SUMMARY";
};
type SummaryBodySummarizeFieldsEnum = (typeof SummaryBodySummarizeFieldsEnum)[keyof typeof SummaryBodySummarizeFieldsEnum];
/**
 * @export
 */
declare const SummaryBodyMethodEnum: {
    readonly Articles: "ARTICLES";
    readonly Clusters: "CLUSTERS";
};
type SummaryBodyMethodEnum = (typeof SummaryBodyMethodEnum)[keyof typeof SummaryBodyMethodEnum];
/**
 * @export
 */
declare const SummaryBodyModelEnum: {
    readonly Gpt4o: "gpt-4o";
    readonly Gpt4oMini: "gpt-4o-mini";
    readonly Gpt41: "gpt-4.1";
    readonly Gpt41Mini: "gpt-4.1-mini";
    readonly Gpt41Nano: "gpt-4.1-nano";
    readonly Llama3370bVersatile: "llama-3.3-70b-versatile";
    readonly DeepseekR1DistillLlama70b: "deepseek-r1-distill-llama-70b";
};
type SummaryBodyModelEnum = (typeof SummaryBodyModelEnum)[keyof typeof SummaryBodyModelEnum];
/**
 * Check if a given object implements the SummaryBody interface.
 */
declare function instanceOfSummaryBody(value: object): value is SummaryBody;
declare function SummaryBodyFromJSON(json: any): SummaryBody;
declare function SummaryBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): SummaryBody;
declare function SummaryBodyToJSON(json: any): SummaryBody;
declare function SummaryBodyToJSONTyped(value?: SummaryBody | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface SummarySearchResult
 */
interface SummarySearchResult {
    /**
     *
     * @type {number}
     * @memberof SummarySearchResult
     */
    status: number;
    /**
     *
     * @type {number}
     * @memberof SummarySearchResult
     */
    numResults: number;
    /**
     *
     * @type {string}
     * @memberof SummarySearchResult
     */
    summary: string;
    /**
     *
     * @type {Array<Article>}
     * @memberof SummarySearchResult
     */
    results: Array<Article>;
}
/**
 * Check if a given object implements the SummarySearchResult interface.
 */
declare function instanceOfSummarySearchResult(value: object): value is SummarySearchResult;
declare function SummarySearchResultFromJSON(json: any): SummarySearchResult;
declare function SummarySearchResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): SummarySearchResult;
declare function SummarySearchResultToJSON(json: any): SummarySearchResult;
declare function SummarySearchResultToJSONTyped(value?: SummarySearchResult | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface TooManyRequestsException
 */
interface TooManyRequestsException {
    /**
     *
     * @type {TooManyRequestsExceptionCause}
     * @memberof TooManyRequestsException
     */
    cause?: TooManyRequestsExceptionCause | null;
    /**
     *
     * @type {Array<TooManyRequestsExceptionCauseStackTraceInner>}
     * @memberof TooManyRequestsException
     */
    stackTrace?: Array<TooManyRequestsExceptionCauseStackTraceInner> | null;
    /**
     *
     * @type {string}
     * @memberof TooManyRequestsException
     */
    status?: TooManyRequestsExceptionStatusEnum | null;
    /**
     *
     * @type {string}
     * @memberof TooManyRequestsException
     */
    message?: string | null;
    /**
     *
     * @type {Array<TooManyRequestsExceptionSuppressedInner>}
     * @memberof TooManyRequestsException
     */
    suppressed?: Array<TooManyRequestsExceptionSuppressedInner> | null;
    /**
     *
     * @type {string}
     * @memberof TooManyRequestsException
     */
    localizedMessage?: string | null;
}
/**
 * @export
 */
declare const TooManyRequestsExceptionStatusEnum: {
    readonly _100Continue: "100 CONTINUE";
    readonly _101SwitchingProtocols: "101 SWITCHING_PROTOCOLS";
    readonly _102Processing: "102 PROCESSING";
    readonly _103Checkpoint: "103 CHECKPOINT";
    readonly _200Ok: "200 OK";
    readonly _201Created: "201 CREATED";
    readonly _202Accepted: "202 ACCEPTED";
    readonly _203NonAuthoritativeInformation: "203 NON_AUTHORITATIVE_INFORMATION";
    readonly _204NoContent: "204 NO_CONTENT";
    readonly _205ResetContent: "205 RESET_CONTENT";
    readonly _206PartialContent: "206 PARTIAL_CONTENT";
    readonly _207MultiStatus: "207 MULTI_STATUS";
    readonly _208AlreadyReported: "208 ALREADY_REPORTED";
    readonly _226ImUsed: "226 IM_USED";
    readonly _300MultipleChoices: "300 MULTIPLE_CHOICES";
    readonly _301MovedPermanently: "301 MOVED_PERMANENTLY";
    readonly _302Found: "302 FOUND";
    readonly _302MovedTemporarily: "302 MOVED_TEMPORARILY";
    readonly _303SeeOther: "303 SEE_OTHER";
    readonly _304NotModified: "304 NOT_MODIFIED";
    readonly _305UseProxy: "305 USE_PROXY";
    readonly _307TemporaryRedirect: "307 TEMPORARY_REDIRECT";
    readonly _308PermanentRedirect: "308 PERMANENT_REDIRECT";
    readonly _400BadRequest: "400 BAD_REQUEST";
    readonly _401Unauthorized: "401 UNAUTHORIZED";
    readonly _402PaymentRequired: "402 PAYMENT_REQUIRED";
    readonly _403Forbidden: "403 FORBIDDEN";
    readonly _404NotFound: "404 NOT_FOUND";
    readonly _405MethodNotAllowed: "405 METHOD_NOT_ALLOWED";
    readonly _406NotAcceptable: "406 NOT_ACCEPTABLE";
    readonly _407ProxyAuthenticationRequired: "407 PROXY_AUTHENTICATION_REQUIRED";
    readonly _408RequestTimeout: "408 REQUEST_TIMEOUT";
    readonly _409Conflict: "409 CONFLICT";
    readonly _410Gone: "410 GONE";
    readonly _411LengthRequired: "411 LENGTH_REQUIRED";
    readonly _412PreconditionFailed: "412 PRECONDITION_FAILED";
    readonly _413PayloadTooLarge: "413 PAYLOAD_TOO_LARGE";
    readonly _413RequestEntityTooLarge: "413 REQUEST_ENTITY_TOO_LARGE";
    readonly _414UriTooLong: "414 URI_TOO_LONG";
    readonly _414RequestUriTooLong: "414 REQUEST_URI_TOO_LONG";
    readonly _415UnsupportedMediaType: "415 UNSUPPORTED_MEDIA_TYPE";
    readonly _416RequestedRangeNotSatisfiable: "416 REQUESTED_RANGE_NOT_SATISFIABLE";
    readonly _417ExpectationFailed: "417 EXPECTATION_FAILED";
    readonly _418IAmATeapot: "418 I_AM_A_TEAPOT";
    readonly _419InsufficientSpaceOnResource: "419 INSUFFICIENT_SPACE_ON_RESOURCE";
    readonly _420MethodFailure: "420 METHOD_FAILURE";
    readonly _421DestinationLocked: "421 DESTINATION_LOCKED";
    readonly _422UnprocessableEntity: "422 UNPROCESSABLE_ENTITY";
    readonly _423Locked: "423 LOCKED";
    readonly _424FailedDependency: "424 FAILED_DEPENDENCY";
    readonly _425TooEarly: "425 TOO_EARLY";
    readonly _426UpgradeRequired: "426 UPGRADE_REQUIRED";
    readonly _428PreconditionRequired: "428 PRECONDITION_REQUIRED";
    readonly _429TooManyRequests: "429 TOO_MANY_REQUESTS";
    readonly _431RequestHeaderFieldsTooLarge: "431 REQUEST_HEADER_FIELDS_TOO_LARGE";
    readonly _451UnavailableForLegalReasons: "451 UNAVAILABLE_FOR_LEGAL_REASONS";
    readonly _500InternalServerError: "500 INTERNAL_SERVER_ERROR";
    readonly _501NotImplemented: "501 NOT_IMPLEMENTED";
    readonly _502BadGateway: "502 BAD_GATEWAY";
    readonly _503ServiceUnavailable: "503 SERVICE_UNAVAILABLE";
    readonly _504GatewayTimeout: "504 GATEWAY_TIMEOUT";
    readonly _505HttpVersionNotSupported: "505 HTTP_VERSION_NOT_SUPPORTED";
    readonly _506VariantAlsoNegotiates: "506 VARIANT_ALSO_NEGOTIATES";
    readonly _507InsufficientStorage: "507 INSUFFICIENT_STORAGE";
    readonly _508LoopDetected: "508 LOOP_DETECTED";
    readonly _509BandwidthLimitExceeded: "509 BANDWIDTH_LIMIT_EXCEEDED";
    readonly _510NotExtended: "510 NOT_EXTENDED";
    readonly _511NetworkAuthenticationRequired: "511 NETWORK_AUTHENTICATION_REQUIRED";
};
type TooManyRequestsExceptionStatusEnum = (typeof TooManyRequestsExceptionStatusEnum)[keyof typeof TooManyRequestsExceptionStatusEnum];
/**
 * Check if a given object implements the TooManyRequestsException interface.
 */
declare function instanceOfTooManyRequestsException(value: object): value is TooManyRequestsException;
declare function TooManyRequestsExceptionFromJSON(json: any): TooManyRequestsException;
declare function TooManyRequestsExceptionFromJSONTyped(json: any, ignoreDiscriminator: boolean): TooManyRequestsException;
declare function TooManyRequestsExceptionToJSON(json: any): TooManyRequestsException;
declare function TooManyRequestsExceptionToJSONTyped(value?: TooManyRequestsException | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface TopicLabels
 */
interface TopicLabels {
    /**
     *
     * @type {string}
     * @memberof TopicLabels
     */
    category?: string | null;
    /**
     *
     * @type {string}
     * @memberof TopicLabels
     */
    subcategory?: string | null;
}
/**
 * Check if a given object implements the TopicLabels interface.
 */
declare function instanceOfTopicLabels(value: object): value is TopicLabels;
declare function TopicLabelsFromJSON(json: any): TopicLabels;
declare function TopicLabelsFromJSONTyped(json: any, ignoreDiscriminator: boolean): TopicLabels;
declare function TopicLabelsToJSON(json: any): TopicLabels;
declare function TopicLabelsToJSONTyped(value?: TopicLabels | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface TopicDto
 */
interface TopicDto {
    /**
     *
     * @type {number}
     * @memberof TopicDto
     */
    id?: number | null;
    /**
     *
     * @type {Date}
     * @memberof TopicDto
     */
    createdAt?: Date | null;
    /**
     *
     * @type {Date}
     * @memberof TopicDto
     */
    updatedAt?: Date | null;
    /**
     *
     * @type {string}
     * @memberof TopicDto
     */
    name?: string | null;
    /**
     *
     * @type {TopicLabels}
     * @memberof TopicDto
     */
    labels?: TopicLabels;
}
/**
 * Check if a given object implements the TopicDto interface.
 */
declare function instanceOfTopicDto(value: object): value is TopicDto;
declare function TopicDtoFromJSON(json: any): TopicDto;
declare function TopicDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TopicDto;
declare function TopicDtoToJSON(json: any): TopicDto;
declare function TopicDtoToJSONTyped(value?: TopicDto | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 * Topic search result
 * @export
 * @interface TopicSearchResult
 */
interface TopicSearchResult {
    /**
     *
     * @type {number}
     * @memberof TopicSearchResult
     */
    total: number;
    /**
     *
     * @type {Array<TopicDto>}
     * @memberof TopicSearchResult
     */
    data: Array<TopicDto>;
}
/**
 * Check if a given object implements the TopicSearchResult interface.
 */
declare function instanceOfTopicSearchResult(value: object): value is TopicSearchResult;
declare function TopicSearchResultFromJSON(json: any): TopicSearchResult;
declare function TopicSearchResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): TopicSearchResult;
declare function TopicSearchResultToJSON(json: any): TopicSearchResult;
declare function TopicSearchResultToJSONTyped(value?: TopicSearchResult | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 * Vector search result
 * @export
 * @interface VectorSearchResult
 */
interface VectorSearchResult {
    /**
     *
     * @type {number}
     * @memberof VectorSearchResult
     */
    status: number;
    /**
     *
     * @type {Array<ScoredArticle>}
     * @memberof VectorSearchResult
     */
    results: Array<ScoredArticle>;
}
/**
 * Check if a given object implements the VectorSearchResult interface.
 */
declare function instanceOfVectorSearchResult(value: object): value is VectorSearchResult;
declare function VectorSearchResultFromJSON(json: any): VectorSearchResult;
declare function VectorSearchResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): VectorSearchResult;
declare function VectorSearchResultToJSON(json: any): VectorSearchResult;
declare function VectorSearchResultToJSONTyped(value?: VectorSearchResult | null, ignoreDiscriminator?: boolean): any;

/**
 * Perigon API
 * The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: data@perigon.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

interface GetJournalistByIdRequest {
    /**
     * Parameter id
     * @required
     */
    id: string;
}
interface SearchArticlesRequest {
    /**
     * Primary search query for filtering articles based on their title, description, and content. Supports Boolean operators (AND, OR, NOT), exact phrases with quotes, and wildcards (* and ?) for flexible searching.
     */
    q?: string;
    /**
     * Search specifically within article headlines/titles. Supports Boolean operators, exact phrases with quotes, and wildcards for matching title variations.
     */
    title?: string;
    /**
     * Search within article description fields. Supports Boolean expressions, exact phrase matching with quotes, and wildcards for flexible pattern matching.
     */
    desc?: string;
    /**
     * Search within the full article body content. Supports Boolean logic, exact phrase matching with quotes, and wildcards for comprehensive content searching.
     */
    content?: string;
    /**
     * Search within article URLs to find content from specific website sections or domains. Supports wildcards (* and ?) for partial URL matching.
     */
    url?: string;
    /**
     * Retrieve specific news articles by their unique article identifiers. Multiple IDs can be provided to return a collection of specific articles.
     */
    articleId?: Array<string>;
    /**
     * Filter results to only show content within a specific related content cluster. Returns articles grouped together as part of Perigon Stories based on topic relevance.
     */
    clusterId?: Array<string>;
    /**
     * Determines the article sorting order. Options include relevance (default), date/pubDate (newest publication date first), reverseDate (oldest publication date first), addDate (newest ingestion date first), reverseAddDate (oldest ingestion date first), and refreshDate (most recently updated in system first, often identical to addDate).
     */
    sortBy?: AllEndpointSortBy;
    /**
     * The specific page of results to retrieve in the paginated response. Starts at 0.
     */
    page?: number;
    /**
     * The number of articles to return per page in the paginated response.
     */
    size?: number;
    /**
     * Filter for articles published after this date. Accepts ISO 8601 format (e.g., 2023-03-01T00:00:00) or yyyy-mm-dd format.
     */
    from?: Date;
    /**
     * Filter for articles published before this date. Accepts ISO 8601 format (e.g., 2022-02-01T23:59:59) or yyyy-mm-dd format.
     */
    to?: Date;
    /**
     * Filter for articles added to Perigon\&#39;s system after this date. Accepts ISO 8601 format (e.g., 2022-02-01T00:00:00) or yyyy-mm-dd format.
     */
    addDateFrom?: Date;
    /**
     * Filter for articles added to Perigon\&#39;s system before this date. Accepts ISO 8601 format (e.g., 2022-02-01T23:59:59) or yyyy-mm-dd format.
     */
    addDateTo?: Date;
    /**
     * Filter for articles refreshed/updated in Perigon\&#39;s system after this date. In most cases yields similar results to addDateFrom but can differ for updated content. Accepts ISO 8601 format (e.g., 2022-02-01T00:00:00) or yyyy-mm-dd format.
     */
    refreshDateFrom?: Date;
    /**
     * Filter for articles refreshed/updated in Perigon\&#39;s system before this date. In most cases yields similar results to addDateTo but can differ for updated content. Accepts ISO 8601 format (e.g., 2022-02-01T23:59:59) or yyyy-mm-dd format.
     */
    refreshDateTo?: Date;
    /**
     * Filter articles by their primary medium type. Accepts Article for written content or Video for video-based stories. Multiple values create an OR filter.
     */
    medium?: Array<string>;
    /**
     * Filter articles by specific publisher domains or subdomains. Supports wildcards (* and ?) for pattern matching (e.g., *.cnn.com). Multiple values create an OR filter.
     */
    source?: Array<string>;
    /**
     * Filter articles using Perigon\&#39;s curated publisher bundles (e.g., top100, top25crypto). Multiple values create an OR filter to include articles from any of the specified bundles.
     */
    sourceGroup?: Array<string>;
    /**
     * Exclude articles from specified Perigon source groups. Multiple values create an AND-exclude filter, removing content from publishers in any of the specified bundles (e.g., top10, top100).
     */
    excludeSourceGroup?: Array<string>;
    /**
     * Exclude articles from specific publisher domains or subdomains. Supports wildcards (* and ?) for pattern matching (e.g., *.cnn.com). Multiple values create an AND-exclude filter.
     */
    excludeSource?: Array<string>;
    /**
     * Filter to show only results where the source has a paywall (true) or does not have a paywall (false).
     */
    paywall?: boolean;
    /**
     * Filter articles by author bylines. Works as an exact match for each author name provided. Multiple values create an OR filter to find articles by any of the specified authors.
     */
    byline?: Array<string>;
    /**
     * Filter articles by specific author names. Works as an exact match for each name. Multiple values create an OR filter to find articles by any of the specified authors.
     */
    author?: Array<string>;
    /**
     * Exclude articles written by specific authors. Any article with an author name matching an entry in this list will be omitted from results. Multiple values create an AND-exclude filter.
     */
    excludeAuthor?: Array<string>;
    /**
     * Filter by unique journalist identifiers which can be found through the Journalist API or in the matchedAuthors field. Multiple values create an OR filter.
     */
    journalistId?: Array<string>;
    /**
     * Exclude articles written by specific journalists identified by their unique IDs. Multiple values create an AND-exclude filter.
     */
    excludeJournalistId?: Array<string>;
    /**
     * Filter articles by their language using ISO-639 two-letter codes (e.g., en, es, fr). Multiple values create an OR filter.
     */
    language?: Array<string>;
    /**
     * Exclude articles in specific languages using ISO-639 two-letter codes. Multiple values create an AND-exclude filter.
     */
    excludeLanguage?: Array<string>;
    /**
     * Expand search to include translated content fields for non-English articles. When true, searches translated title, description, and content fields.
     */
    searchTranslation?: boolean;
    /**
     * Filter articles by editorial labels such as Opinion, Paid-news, Non-news, Fact Check, or Press Release. Multiple values create an OR filter.
     */
    label?: Array<string>;
    /**
     * Exclude articles with specific editorial labels. Multiple values create an AND-exclude filter, removing all content with any of these labels.
     */
    excludeLabel?: Array<string>;
    /**
     * Filter by broad content categories such as Politics, Tech, Sports, Business, or Finance. Use \&#39;none\&#39; to find uncategorized articles. Multiple values create an OR filter.
     */
    category?: Array<string>;
    /**
     * Exclude articles with specific categories. Multiple values create an AND-exclude filter, removing all content with any of these categories.
     */
    excludeCategory?: Array<string>;
    /**
     * Filter by specific topics such as Markets, Crime, Cryptocurrency, or College Sports. Topics are more granular than categories, and articles can have multiple topics. Use the /topics endpoint for a complete list of available topics. Multiple values create an OR filter.
     */
    topic?: Array<string>;
    /**
     * Exclude articles with specific topics. Multiple values create an AND-exclude filter, removing all content with any of these topics.
     */
    excludeTopic?: Array<string>;
    /**
     * Returns only articles that contain links to the specified URL pattern. Matches against the \&#39;links\&#39; field in article responses.
     */
    linkTo?: string;
    /**
     * Controls whether to include reprinted content in results. When true (default), shows syndicated articles from wire services like AP or Reuters that appear on multiple sites.
     */
    showReprints?: boolean;
    /**
     * Returns all articles in a specific reprint group, including the original article and all its known reprints. Use when you want to see all versions of the same content.
     */
    reprintGroupId?: string;
    /**
     * Filters articles where a specified city plays a central role in the content, beyond mere mentions, to ensure the results are deeply relevant to the urban area in question. If multiple parameters are passed, they will be applied as OR operations.
     */
    city?: Array<string>;
    /**
     * A list of cities to exclude from the results. Articles that are associated with any of the specified cities will be filtered out.
     */
    excludeCity?: Array<string>;
    /**
     * Filters articles where a specified area, such as a neighborhood, borough, or district, plays a central role in the content, beyond mere mentions, to ensure the results are deeply relevant to the area in question. If multiple parameters are passed, they will be applied as OR operations.
     */
    area?: Array<string>;
    /**
     * Filters articles where a specified state plays a central role in the content, beyond mere mentions, to ensure the results are deeply relevant to the state in question. If multiple parameters are passed, they will be applied as OR operations.
     */
    state?: Array<string>;
    /**
     * A list of states to exclude. Articles that include, or are associated with, any of the states provided here will be filtered out. This is especially useful if you want to ignore news tied to certain geographical areas (e.g., US states).
     */
    excludeState?: Array<string>;
    /**
     * A list of counties to include (or specify) in the search results. This field filters the returned articles based on the county associated with the event or news. Only articles tagged with one of these counties will be included.
     */
    county?: Array<string>;
    /**
     * Excludes articles from specific counties or administrative divisions in the vector search results. Accepts either a single county name or a list of county names. County names should match the format used in article metadata (e.g., \&#39;Los Angeles County\&#39;, \&#39;Cook County\&#39;). This parameter allows for more granular geographic filter
     */
    excludeCounty?: Array<string>;
    /**
     * Filters articles where a specified country plays a central role in the content, beyond mere mentions, to ensure the results are deeply relevant to the country in question. If multiple parameters are passed, they will be applied as OR operations.
     */
    locationsCountry?: Array<string>;
    /**
     * Country code to filter by country. If multiple parameters are passed, they will be applied as OR operations.
     */
    country?: Array<string>;
    /**
     * Excludes articles where a specified country plays a central role in the content, ensuring results are not deeply relevant to the country in question. If multiple parameters are passed, they will be applied as AND operations, excluding articles relevant to any of the specified countries.
     */
    excludeLocationsCountry?: Array<string>;
    /**
     * Return all articles that have the specified location. Location attributes are delimited by \&#39;:\&#39; between key and value, and \&#39;::\&#39; between attributes. Example: \&#39;city:New York::state:NY\&#39;.
     */
    location?: Array<string>;
    /**
     * Latitude of the center point to search places
     */
    lat?: number;
    /**
     * Longitude of the center point to search places
     */
    lon?: number;
    /**
     * Maximum distance (in km) from starting point to search articles by tagged places
     */
    maxDistance?: number;
    /**
     * Find articles published by sources that are located within a given city.
     */
    sourceCity?: Array<string>;
    /**
     * Find articles published by sources that are located within a given county.
     */
    sourceCounty?: Array<string>;
    /**
     * Find articles published by sources that are located within a given country. Must be 2 character country code (i.e. us, gb, etc).
     */
    sourceCountry?: Array<string>;
    /**
     * Find articles published by sources that are located within a given state.
     */
    sourceState?: Array<string>;
    /**
     * Latitude of the center point to search articles created by local publications.
     */
    sourceLat?: number;
    /**
     * Latitude of the center point to search articles created by local publications.
     */
    sourceLon?: number;
    /**
     * Maximum distance from starting point to search articles created by local publications.
     */
    sourceMaxDistance?: number;
    /**
     * Filter articles by Wikidata IDs of mentioned people. Refer to the /people endpoint for a complete list of tracked individuals.
     */
    personWikidataId?: Array<string>;
    /**
     * Exclude articles mentioning people with specific Wikidata IDs. Creates an AND-exclude filter to remove content about these individuals. Uses precise identifiers to avoid name ambiguity.
     */
    excludePersonWikidataId?: Array<string>;
    /**
     * Filter articles by exact person name matches. Does not support Boolean or complex logic. For available person entities, consult the /people endpoint.
     */
    personName?: Array<string>;
    /**
     * Exclude articles mentioning specific people by name. Creates an AND-exclude filter to remove content about these individuals.
     */
    excludePersonName?: Array<string>;
    /**
     * Filter articles by company identifiers. For a complete list of tracked companies, refer to the /companies endpoint.
     */
    companyId?: Array<string>;
    /**
     * Exclude articles mentioning companies with specific identifiers. Creates an AND-exclude filter to remove content about these corporate entities.
     */
    excludeCompanyId?: Array<string>;
    /**
     * Filter articles by company name mentions. Performs an exact match on company names.
     */
    companyName?: string;
    /**
     * Filter articles by company domains (e.g., apple.com). For available company entities, consult the /companies endpoint.
     */
    companyDomain?: Array<string>;
    /**
     * Exclude articles related to companies with specific domains. Creates an AND-exclude filter to remove content about these companies.
     */
    excludeCompanyDomain?: Array<string>;
    /**
     * Filter articles by company stock symbols. For available company entities and their symbols, consult the /companies endpoint.
     */
    companySymbol?: Array<string>;
    /**
     * A list of stock symbols (ticker symbols) that identify companies to be excluded. Articles related to companies using any of these symbols will be omitted, which is useful for targeting or avoiding specific public companies.
     */
    excludeCompanySymbol?: Array<string>;
    /**
     * Whether to show the total number of all matched articles. Default value is false which makes queries a bit more efficient but also counts up to 10000 articles.
     */
    showNumResults?: boolean;
    /**
     * Filter articles with a positive sentiment score greater than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger positive tone.
     */
    positiveSentimentFrom?: number;
    /**
     * Filter articles with a positive sentiment score less than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger positive tone.
     */
    positiveSentimentTo?: number;
    /**
     * Filter articles with a neutral sentiment score greater than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger neutral tone.
     */
    neutralSentimentFrom?: number;
    /**
     * Filter articles with a neutral sentiment score less than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger neutral tone.
     */
    neutralSentimentTo?: number;
    /**
     * Filter articles with a negative sentiment score greater than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger negative tone.
     */
    negativeSentimentFrom?: number;
    /**
     * Filter articles with a negative sentiment score less than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger negative tone.
     */
    negativeSentimentTo?: number;
    /**
     * Filters by Google Content Categories. This field will accept 1 or more categories, must pass the full name of the category. Example: taxonomy&#x3D;/Finance/Banking/Other, /Finance/Investing/Funds. [Full list](https://cloud.google.com/natural-language/docs/categories)
     */
    taxonomy?: Array<string>;
    /**
     * Filters by Google Content Categories. This field will filter by the category prefix only. Example: prefixTaxonomy&#x3D;/Finance
     */
    prefixTaxonomy?: string;
}
interface SearchCompaniesRequest {
    /**
     * Filter by unique company identifiers. Multiple values create an OR filter.
     */
    id?: Array<string>;
    /**
     * Filter by company stock ticker symbols (e.g., AAPL, MSFT, GOOGL). Multiple values create an OR filter.
     */
    symbol?: Array<string>;
    /**
     * Filter by company domains or websites (e.g., apple.com, microsoft.com). Multiple values create an OR filter.
     */
    domain?: Array<string>;
    /**
     * Filter by company headquarters country. Multiple values create an OR filter.
     */
    country?: Array<string>;
    /**
     * Filter by stock exchange where companies are listed (e.g., NASDAQ, NYSE). Multiple values create an OR filter.
     */
    exchange?: Array<string>;
    /**
     * Filter for companies with at least this many employees.
     */
    numEmployeesFrom?: number;
    /**
     * Filter for companies with no more than this many employees.
     */
    numEmployeesTo?: number;
    /**
     * Filter for companies that went public on or after this date. Accepts ISO 8601 format (e.g., 2023-01-01T00:00:00) or yyyy-mm-dd format.
     */
    ipoFrom?: Date;
    /**
     * Filter for companies that went public on or before this date. Accepts ISO 8601 format (e.g., 2023-12-31T23:59:59) or yyyy-mm-dd format.
     */
    ipoTo?: Date;
    /**
     * Primary search query for filtering companies across name, alternative names, domains, and ticker symbols. Supports Boolean operators (AND, OR, NOT), exact phrases with quotes, and wildcards (* and ?) for flexible searching.
     */
    q?: string;
    /**
     * Search within company names. Supports Boolean operators (AND, OR, NOT), exact phrases with quotes, and wildcards (* and ?) for flexible searching.
     */
    name?: string;
    /**
     * Filter by company industry classifications. Supports Boolean operators (AND, OR, NOT), exact phrases with quotes, and wildcards (* and ?) for flexible searching.
     */
    industry?: string;
    /**
     * Filter by company sector classifications. Supports Boolean operators (AND, OR, NOT), exact phrases with quotes, and wildcards (* and ?) for flexible searching.
     */
    sector?: string;
    /**
     * The number of companies to return per page in the paginated response.
     */
    size?: number;
    /**
     * The specific page of results to retrieve in the paginated response. Starts at 0.
     */
    page?: number;
}
interface SearchJournalistsRequest {
    /**
     * Filter by unique journalist identifiers. Multiple values create an OR filter to find journalists matching any of the specified IDs.
     */
    id?: Array<string>;
    /**
     * Primary search query for filtering journalists based on their name, title, and Twitter bio. Supports Boolean operators (AND, OR, NOT), exact phrases with quotes, and wildcards (* and ?) for flexible searching.
     */
    q?: string;
    /**
     * Search specifically within journalist names. Supports Boolean operators (AND, OR, NOT), exact phrases with quotes, and wildcards (* and ?) for flexible searching.
     */
    name?: string;
    /**
     * Filter journalists by their exact Twitter handle, without the @ symbol.
     */
    twitter?: string;
    /**
     * The number of journalists to return per page in the paginated response.
     */
    size?: number;
    /**
     * The specific page of results to retrieve in the paginated response. Starts at 0.
     */
    page?: number;
    /**
     * Filter journalists by the publisher domains they write for. Supports wildcards (* and ?) for pattern matching (e.g., *.cnn.com). Multiple values create an OR filter.
     */
    source?: Array<string>;
    /**
     * Filter journalists by the topics they frequently cover. Multiple values create an OR filter to find journalists covering any of the specified topics.
     */
    topic?: Array<string>;
    /**
     * Filter journalists by the content categories they typically write about (e.g., Politics, Tech, Sports, Business). Multiple values create an OR filter.
     */
    category?: Array<string>;
    /**
     * Filter journalists by the type of content they typically produce (e.g., Opinion, Paid-news, Non-news). Multiple values create an OR filter.
     */
    label?: Array<string>;
    /**
     * Filter for journalists who publish at least this many articles per month. Used to identify more active journalists.
     */
    minMonthlyPosts?: number;
    /**
     * Filter for journalists who publish no more than this many articles per month.
     */
    maxMonthlyPosts?: number;
    /**
     * Filter journalists by countries they commonly cover in their reporting. Uses ISO 3166-1 alpha-2 two-letter country codes in lowercase (e.g., us, gb, jp). Multiple values create an OR filter.
     */
    country?: Array<string>;
    /**
     * Filter for journalist profiles updated on or after this date. Accepts ISO 8601 format (e.g., 2023-03-01T00:00:00) or yyyy-mm-dd format.
     */
    updatedAtFrom?: Date;
    /**
     * Filter for journalist profiles updated on or before this date. Accepts ISO 8601 format (e.g., 2023-03-01T23:59:59) or yyyy-mm-dd format.
     */
    updatedAtTo?: Date;
    /**
     * Controls whether to return the exact result count. When false (default), counts are capped at 10,000 for performance reasons. Set to true for precise counts in smaller result sets.
     */
    showNumResults?: boolean;
}
interface SearchPeopleRequest {
    /**
     * Search by person\&#39;s name. Supports Boolean operators (AND, OR, NOT), exact phrases with quotes, and wildcards (* and ?) for flexible searching.
     */
    name?: string;
    /**
     * Filter by Wikidata entity IDs (e.g., Q7747, Q937). These are unique identifiers from Wikidata.org that precisely identify public figures and eliminate name ambiguity. Multiple values create an OR filter.
     */
    wikidataId?: Array<string>;
    /**
     * Filter by Wikidata occupation IDs (e.g., Q82955 for politician, Q33999 for actor, Q19546 for businessman). Finds people with specific professions. Multiple values create an OR filter.
     */
    occupationId?: Array<string>;
    /**
     * Search by occupation name (e.g., politician, actor, CEO, athlete). Supports Boolean operators (AND, OR, NOT), exact phrases with quotes, and wildcards (* and ?) for flexible searching.
     */
    occupationLabel?: string;
    /**
     * The specific page of results to retrieve in the paginated response. Starts at 0.
     */
    page?: number;
    /**
     * The number of people to return per page in the paginated response.
     */
    size?: number;
}
interface SearchSourcesRequest {
    /**
     * Filter by specific publisher domains or subdomains. Supports wildcards (* and ?) for pattern matching (e.g., *.cnn.com, us?.nytimes.com). Multiple values create an OR filter.
     */
    domain?: Array<string>;
    /**
     * Search by source name or alternative names. Supports Boolean operators (AND, OR, NOT), exact phrases with quotes, and wildcards (* and ?) for flexible searching.
     */
    name?: string;
    /**
     * Filter by predefined publisher bundles (e.g., top100, top50tech). Returns all sources within the specified group. See documentation for available source groups.
     */
    sourceGroup?: string;
    /**
     * Determines the source sorting order. Options include relevance (default, best match to query), globalRank (by overall traffic and popularity), monthlyVisits (by total monthly visitor count), and avgMonthlyPosts (by number of articles published monthly).
     */
    sortBy?: SortBy;
    /**
     * The specific page of results to retrieve in the paginated response. Starts at 0.
     */
    page?: number;
    /**
     * The number of sources to return per page in the paginated response.
     */
    size?: number;
    /**
     * Filter for sources with at least this many monthly visitors. Used to target publishers by audience size.
     */
    minMonthlyVisits?: number;
    /**
     * Filter for sources with no more than this many monthly visitors. Used to target publishers by audience size.
     */
    maxMonthlyVisits?: number;
    /**
     * Filter for sources that publish at least this many articles per month. Used to target publishers by content volume.
     */
    minMonthlyPosts?: number;
    /**
     * Filter for sources that publish no more than this many articles per month. Used to target publishers by content volume.
     */
    maxMonthlyPosts?: number;
    /**
     * Filter sources by countries they commonly cover in their reporting. Uses ISO 3166-1 alpha-2 two-letter country codes in lowercase (e.g., us, gb, jp). See documentation for supported country codes. Multiple values create an OR filter.
     */
    country?: Array<string>;
    /**
     * Filter for local publications based in specific countries. Uses ISO 3166-1 alpha-2 two-letter country codes in lowercase (e.g., us, gb, jp). See documentation for supported country codes. Multiple values create an OR filter.
     */
    sourceCountry?: Array<string>;
    /**
     * Filter for local publications based in specific states or regions. Uses standard two-letter state codes in lowercase (e.g., ca, ny, tx). See documentation for supported state codes. Multiple values create an OR filter.
     */
    sourceState?: Array<string>;
    /**
     * Filter for local publications based in specific counties. Multiple values create an OR filter.
     */
    sourceCounty?: Array<string>;
    /**
     * Filter for local publications based in specific cities. Multiple values create an OR filter.
     */
    sourceCity?: Array<string>;
    /**
     * Latitude coordinate for filtering local publications by geographic proximity. Used with sourceLon and sourceMaxDistance for radius search.
     */
    sourceLat?: number;
    /**
     * Longitude coordinate for filtering local publications by geographic proximity. Used with sourceLat and sourceMaxDistance for radius search.
     */
    sourceLon?: number;
    /**
     * Maximum distance in kilometers from the coordinates defined by sourceLat and sourceLon. Defines the radius for local publication searches.
     */
    sourceMaxDistance?: number;
    /**
     * Filter sources by their primary content categories such as Politics, Tech, Sports, Business, or Finance. Returns sources that frequently cover these topics. Multiple values create an OR filter.
     */
    category?: Array<string>;
    /**
     * Filter sources by their frequently covered topics (e.g., Markets, Cryptocurrency, Climate Change). Returns sources where the specified topic is among their top 10 covered areas. Multiple values create an OR filter.
     */
    topic?: Array<string>;
    /**
     * Filter sources by their content label patterns (e.g., Opinion, Paid-news, Non-news). Returns sources where the specified label is common in their published content. See documentation for all available labels. Multiple values create an OR filter.
     */
    label?: Array<string>;
    /**
     * Filter by paywall status. Set to true to find sources with paywalls, or false to find sources without paywalls.
     */
    paywall?: boolean;
    /**
     * Controls whether subdomains are included as separate results. When true (default), subdomains appear as distinct sources. When false, results are consolidated to parent domains only.
     */
    showSubdomains?: boolean;
    /**
     * Controls whether to return the exact result count. When false (default), counts are capped at 10,000 for performance reasons. Set to true for precise counts in smaller result sets.
     */
    showNumResults?: boolean;
}
interface SearchStoriesRequest {
    /**
     * Primary search query for filtering stories based on their name, summary, and key points. Supports Boolean operators (AND, OR, NOT), exact phrases with quotes, and wildcards (* and ?) for flexible searching.
     */
    q?: string;
    /**
     * Search specifically within story names. Supports Boolean operators, exact phrases with quotes, and wildcards for matching name variations.
     */
    name?: string;
    /**
     * Filter to specific stories using their unique identifiers. Each clusterId represents a distinct story that groups related articles. Multiple values create an OR filter.
     */
    clusterId?: Array<string>;
    /**
     * Excludes specific stories from the results by their unique identifiers. Use this parameter to filter out unwanted or previously seen stories.
     */
    excludeClusterId?: Array<string>;
    /**
     * Determines the story sorting order. Options include createdAt (default, when stories first emerged), updatedAt (when stories received new articles, best for tracking developing events), relevance (best match to query), count (by unique article count), and totalCount (by total article count including reprints).
     */
    sortBy?: SortBy;
    /**
     * The specific page of results to retrieve in the paginated response. Starts at 0.
     */
    page?: number;
    /**
     * The number of articles to return per page in the paginated response.
     */
    size?: number;
    /**
     * \&#39;from\&#39; filter, will search stories created after the specified date, the date could be passed as ISO or \&#39;yyyy-mm-dd\&#39;. Add time in ISO format, ie. 2023-03-01T00:00:00
     */
    from?: Date;
    /**
     * \&#39;to\&#39; filter, will search stories created before the specified date, the date could be passed as ISO or \&#39;yyyy-mm-dd\&#39;. Add time in ISO format, ie. 2023-03-01T23:59:59
     */
    to?: Date;
    /**
     * Filter for stories created after this date. Alternative parameter for filtering by story creation date.
     */
    initializedFrom?: Date;
    /**
     * Filter for stories created before this date. Alternative parameter for filtering by story creation date.
     */
    initializedTo?: Date;
    /**
     * Filter for stories that received new articles after this date. Useful for tracking developing news events or evolving storylines.
     */
    updatedFrom?: Date;
    /**
     * Filter for stories that received new articles before this date. Useful for tracking developing news events or evolving storylines.
     */
    updatedTo?: Date;
    /**
     * Filter stories by specific topics such as Markets, Crime, Cryptocurrency, or College Sports. Topics are more granular than categories, and stories can include multiple topics based on their constituent articles. Use the /topics endpoint for a complete list of available topics. Multiple values create an OR filter.
     */
    topic?: Array<string>;
    /**
     * Filter stories by broad content categories such as Politics, Tech, Sports, Business, or Finance. Use \&#39;none\&#39; to find uncategorized stories. Categories are derived from the articles within each story. Multiple values create an OR filter.
     */
    category?: Array<string>;
    /**
     * Filter stories by Google Content Categories. Must pass the full hierarchical path of the category. Example: taxonomy&#x3D;/Finance/Banking/Other,/Finance/Investing/Funds. Stories are categorized based on their constituent articles. Multiple values create an OR filter.
     */
    taxonomy?: Array<string>;
    /**
     * Filter stories that contain articles from specific publisher domains or subdomains. Supports wildcards (* and ?) for pattern matching (e.g., *.cnn.com). A story will match if it contains at least one article from any of the specified sources. Multiple values create an OR filter.
     */
    source?: Array<string>;
    /**
     * Filter stories that contain articles from publishers in Perigon\&#39;s curated bundles (e.g., top100, top25crypto). A story will match if it contains at least one article from any publisher in the specified bundles. Multiple values create an OR filter.
     */
    sourceGroup?: Array<string>;
    /**
     * Specifies the minimum number of unique sources required for a story to appear in results. Higher values return more significant stories covered by multiple publications. Default is 3.
     */
    minUniqueSources?: number;
    /**
     * Filter stories by Wikidata IDs of top mentioned people. Returns stories where these individuals appear prominently. Refer to the /people endpoint for a complete list of tracked individuals.
     */
    personWikidataId?: Array<string>;
    /**
     * Filter stories by exact name matches of top mentioned people. Does not support Boolean or complex logic. For available person entities, consult the /people endpoint.
     */
    personName?: string;
    /**
     * Filter stories by identifiers of top mentioned companies. Returns stories where these companies appear prominently. For a complete list of tracked companies, refer to the /companies endpoint.
     */
    companyId?: Array<string>;
    /**
     * Filter stories by names of top mentioned companies. Performs an exact match on company names in the topCompanies field.
     */
    companyName?: string;
    /**
     * Filter stories by domains of top mentioned companies (e.g., apple.com). Returns stories where companies with these domains appear prominently. For available company entities, consult the /companies endpoint.
     */
    companyDomain?: Array<string>;
    /**
     * Filter stories by stock symbols of top mentioned companies. Returns stories where companies with these symbols appear prominently. For available company entities and their symbols, consult the /companies endpoint.
     */
    companySymbol?: Array<string>;
    /**
     * Country code to filter by country. If multiple parameters are passed, they will be applied as OR operations.
     */
    country?: Array<string>;
    /**
     * Filter local news by state. Applies only to local news, when this param is passed non-local news will not be returned. If multiple parameters are passed, they will be applied as OR operations.
     */
    state?: Array<string>;
    /**
     * Filter local news by city. Applies only to local news, when this param is passed non-local news will not be returned. If multiple parameters are passed, they will be applied as OR operations.
     */
    city?: Array<string>;
    /**
     * Filter local news by area. Applies only to local news, when this param is passed non-local news will not be returned. If multiple parameters are passed, they will be applied as OR operations.
     */
    area?: Array<string>;
    /**
     * Filter by minimum cluster size. Minimum cluster size filter applies to number of unique articles.
     */
    minClusterSize?: number;
    /**
     * Filter by maximum cluster size. Maximum cluster size filter applies to number of unique articles in the cluster.
     */
    maxClusterSize?: number;
    /**
     * Filter to only include stories that have been assigned names. Defaults to true. Note that stories only receive names after they contain at least 5 unique articles.
     */
    nameExists?: boolean;
    /**
     * Filter articles with an aggregate positive sentiment score greater than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger positive tone.
     */
    positiveSentimentFrom?: number;
    /**
     * Filter articles with an aggregate positive sentiment score less than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger positive tone.
     */
    positiveSentimentTo?: number;
    /**
     * Filter articles with an aggregate neutral sentiment score greater than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger neutral tone.
     */
    neutralSentimentFrom?: number;
    /**
     * Filter articles with an aggregate neutral sentiment score less than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger neutral tone.
     */
    neutralSentimentTo?: number;
    /**
     * Filter stories with an aggregate negative sentiment score greater than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger negative tone.
     */
    negativeSentimentFrom?: number;
    /**
     * Filter articles with an aggregate negative sentiment score less than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger negative tone.
     */
    negativeSentimentTo?: number;
    /**
     * Parameter showStoryPageInfo
     */
    showStoryPageInfo?: boolean;
    /**
     * Show total number of results. By default set to false, will cap result count at 10000.
     */
    showNumResults?: boolean;
    /**
     * Stories are deduplicated by default. If a story is deduplicated, all future articles are merged into the original story. duplicateOf field contains the original cluster Id. When showDuplicates&#x3D;true, all stories are shown.
     */
    showDuplicates?: boolean;
}
interface SearchSummarizerRequest {
    /**
     * Parameter summaryBody
     * @required
     */
    summaryBody: SummaryBody;
    /**
     * Primary search query for filtering articles based on their title, description, and content. Supports Boolean operators (AND, OR, NOT), exact phrases with quotes, and wildcards (* and ?) for flexible searching.
     */
    q?: string;
    /**
     * Search specifically within article headlines/titles. Supports Boolean operators, exact phrases with quotes, and wildcards for matching title variations.
     */
    title?: string;
    /**
     * Search within article description fields. Supports Boolean expressions, exact phrase matching with quotes, and wildcards for flexible pattern matching.
     */
    desc?: string;
    /**
     * Search within the full article body content. Supports Boolean logic, exact phrase matching with quotes, and wildcards for comprehensive content searching.
     */
    content?: string;
    /**
     * Search within article URLs to find content from specific website sections or domains. Supports wildcards (* and ?) for partial URL matching.
     */
    url?: string;
    /**
     * Retrieve specific news articles by their unique article identifiers. Multiple IDs can be provided to return a collection of specific articles.
     */
    articleId?: Array<string>;
    /**
     * Filter results to only show content within a specific related content cluster. Returns articles grouped together as part of Perigon Stories based on topic relevance.
     */
    clusterId?: Array<string>;
    /**
     * Determines the article sorting order. Options include relevance (default), date/pubDate (newest publication date first), reverseDate (oldest publication date first), addDate (newest ingestion date first), reverseAddDate (oldest ingestion date first), and refreshDate (most recently updated in system first, often identical to addDate).
     */
    sortBy?: AllEndpointSortBy;
    /**
     * The specific page of results to retrieve in the paginated response. Starts at 0.
     */
    page?: number;
    /**
     * The number of articles to return per page in the paginated response.
     */
    size?: number;
    /**
     * Filter for articles published after this date. Accepts ISO 8601 format (e.g., 2023-03-01T00:00:00) or yyyy-mm-dd format.
     */
    from?: Date;
    /**
     * Filter for articles published before this date. Accepts ISO 8601 format (e.g., 2022-02-01T23:59:59) or yyyy-mm-dd format.
     */
    to?: Date;
    /**
     * Filter for articles added to Perigon\&#39;s system after this date. Accepts ISO 8601 format (e.g., 2022-02-01T00:00:00) or yyyy-mm-dd format.
     */
    addDateFrom?: Date;
    /**
     * Filter for articles added to Perigon\&#39;s system before this date. Accepts ISO 8601 format (e.g., 2022-02-01T23:59:59) or yyyy-mm-dd format.
     */
    addDateTo?: Date;
    /**
     * Filter for articles refreshed/updated in Perigon\&#39;s system after this date. In most cases yields similar results to addDateFrom but can differ for updated content. Accepts ISO 8601 format (e.g., 2022-02-01T00:00:00) or yyyy-mm-dd format.
     */
    refreshDateFrom?: Date;
    /**
     * Filter for articles refreshed/updated in Perigon\&#39;s system before this date. In most cases yields similar results to addDateTo but can differ for updated content. Accepts ISO 8601 format (e.g., 2022-02-01T23:59:59) or yyyy-mm-dd format.
     */
    refreshDateTo?: Date;
    /**
     * Filter articles by their primary medium type. Accepts Article for written content or Video for video-based stories. Multiple values create an OR filter.
     */
    medium?: Array<string>;
    /**
     * Filter articles by specific publisher domains or subdomains. Supports wildcards (* and ?) for pattern matching (e.g., *.cnn.com). Multiple values create an OR filter.
     */
    source?: Array<string>;
    /**
     * Filter articles using Perigon\&#39;s curated publisher bundles (e.g., top100, top25crypto). Multiple values create an OR filter to include articles from any of the specified bundles.
     */
    sourceGroup?: Array<string>;
    /**
     * Exclude articles from specified Perigon source groups. Multiple values create an AND-exclude filter, removing content from publishers in any of the specified bundles (e.g., top10, top100).
     */
    excludeSourceGroup?: Array<string>;
    /**
     * Exclude articles from specific publisher domains or subdomains. Supports wildcards (* and ?) for pattern matching (e.g., *.cnn.com). Multiple values create an AND-exclude filter.
     */
    excludeSource?: Array<string>;
    /**
     * Filter to show only results where the source has a paywall (true) or does not have a paywall (false).
     */
    paywall?: boolean;
    /**
     * Filter articles by author bylines. Works as an exact match for each author name provided. Multiple values create an OR filter to find articles by any of the specified authors.
     */
    byline?: Array<string>;
    /**
     * Filter articles by specific author names. Works as an exact match for each name. Multiple values create an OR filter to find articles by any of the specified authors.
     */
    author?: Array<string>;
    /**
     * Exclude articles written by specific authors. Any article with an author name matching an entry in this list will be omitted from results. Multiple values create an AND-exclude filter.
     */
    excludeAuthor?: Array<string>;
    /**
     * Filter by unique journalist identifiers which can be found through the Journalist API or in the matchedAuthors field. Multiple values create an OR filter.
     */
    journalistId?: Array<string>;
    /**
     * Exclude articles written by specific journalists identified by their unique IDs. Multiple values create an AND-exclude filter.
     */
    excludeJournalistId?: Array<string>;
    /**
     * Filter articles by their language using ISO-639 two-letter codes (e.g., en, es, fr). Multiple values create an OR filter.
     */
    language?: Array<string>;
    /**
     * Exclude articles in specific languages using ISO-639 two-letter codes. Multiple values create an AND-exclude filter.
     */
    excludeLanguage?: Array<string>;
    /**
     * Expand search to include translated content fields for non-English articles. When true, searches translated title, description, and content fields.
     */
    searchTranslation?: boolean;
    /**
     * Filter articles by editorial labels such as Opinion, Paid-news, Non-news, Fact Check, or Press Release. Multiple values create an OR filter.
     */
    label?: Array<string>;
    /**
     * Exclude articles with specific editorial labels. Multiple values create an AND-exclude filter, removing all content with any of these labels.
     */
    excludeLabel?: Array<string>;
    /**
     * Filter by broad content categories such as Politics, Tech, Sports, Business, or Finance. Use \&#39;none\&#39; to find uncategorized articles. Multiple values create an OR filter.
     */
    category?: Array<string>;
    /**
     * Exclude articles with specific categories. Multiple values create an AND-exclude filter, removing all content with any of these categories.
     */
    excludeCategory?: Array<string>;
    /**
     * Filter by specific topics such as Markets, Crime, Cryptocurrency, or College Sports. Topics are more granular than categories, and articles can have multiple topics. Use the /topics endpoint for a complete list of available topics. Multiple values create an OR filter.
     */
    topic?: Array<string>;
    /**
     * Exclude articles with specific topics. Multiple values create an AND-exclude filter, removing all content with any of these topics.
     */
    excludeTopic?: Array<string>;
    /**
     * Returns only articles that contain links to the specified URL pattern. Matches against the \&#39;links\&#39; field in article responses.
     */
    linkTo?: string;
    /**
     * Controls whether to include reprinted content in results. When true (default), shows syndicated articles from wire services like AP or Reuters that appear on multiple sites.
     */
    showReprints?: boolean;
    /**
     * Returns all articles in a specific reprint group, including the original article and all its known reprints. Use when you want to see all versions of the same content.
     */
    reprintGroupId?: string;
    /**
     * Filters articles where a specified city plays a central role in the content, beyond mere mentions, to ensure the results are deeply relevant to the urban area in question. If multiple parameters are passed, they will be applied as OR operations.
     */
    city?: Array<string>;
    /**
     * A list of cities to exclude from the results. Articles that are associated with any of the specified cities will be filtered out.
     */
    excludeCity?: Array<string>;
    /**
     * Filters articles where a specified area, such as a neighborhood, borough, or district, plays a central role in the content, beyond mere mentions, to ensure the results are deeply relevant to the area in question. If multiple parameters are passed, they will be applied as OR operations.
     */
    area?: Array<string>;
    /**
     * Filters articles where a specified state plays a central role in the content, beyond mere mentions, to ensure the results are deeply relevant to the state in question. If multiple parameters are passed, they will be applied as OR operations.
     */
    state?: Array<string>;
    /**
     * A list of states to exclude. Articles that include, or are associated with, any of the states provided here will be filtered out. This is especially useful if you want to ignore news tied to certain geographical areas (e.g., US states).
     */
    excludeState?: Array<string>;
    /**
     * A list of counties to include (or specify) in the search results. This field filters the returned articles based on the county associated with the event or news. Only articles tagged with one of these counties will be included.
     */
    county?: Array<string>;
    /**
     * Excludes articles from specific counties or administrative divisions in the vector search results. Accepts either a single county name or a list of county names. County names should match the format used in article metadata (e.g., \&#39;Los Angeles County\&#39;, \&#39;Cook County\&#39;). This parameter allows for more granular geographic filter
     */
    excludeCounty?: Array<string>;
    /**
     * Filters articles where a specified country plays a central role in the content, beyond mere mentions, to ensure the results are deeply relevant to the country in question. If multiple parameters are passed, they will be applied as OR operations.
     */
    locationsCountry?: Array<string>;
    /**
     * Country code to filter by country. If multiple parameters are passed, they will be applied as OR operations.
     */
    country?: Array<string>;
    /**
     * Excludes articles where a specified country plays a central role in the content, ensuring results are not deeply relevant to the country in question. If multiple parameters are passed, they will be applied as AND operations, excluding articles relevant to any of the specified countries.
     */
    excludeLocationsCountry?: Array<string>;
    /**
     * Return all articles that have the specified location. Location attributes are delimited by \&#39;:\&#39; between key and value, and \&#39;::\&#39; between attributes. Example: \&#39;city:New York::state:NY\&#39;.
     */
    location?: Array<string>;
    /**
     * Latitude of the center point to search places
     */
    lat?: number;
    /**
     * Longitude of the center point to search places
     */
    lon?: number;
    /**
     * Maximum distance (in km) from starting point to search articles by tagged places
     */
    maxDistance?: number;
    /**
     * Find articles published by sources that are located within a given city.
     */
    sourceCity?: Array<string>;
    /**
     * Find articles published by sources that are located within a given county.
     */
    sourceCounty?: Array<string>;
    /**
     * Find articles published by sources that are located within a given country. Must be 2 character country code (i.e. us, gb, etc).
     */
    sourceCountry?: Array<string>;
    /**
     * Find articles published by sources that are located within a given state.
     */
    sourceState?: Array<string>;
    /**
     * Latitude of the center point to search articles created by local publications.
     */
    sourceLat?: number;
    /**
     * Latitude of the center point to search articles created by local publications.
     */
    sourceLon?: number;
    /**
     * Maximum distance from starting point to search articles created by local publications.
     */
    sourceMaxDistance?: number;
    /**
     * Filter articles by Wikidata IDs of mentioned people. Refer to the /people endpoint for a complete list of tracked individuals.
     */
    personWikidataId?: Array<string>;
    /**
     * Exclude articles mentioning people with specific Wikidata IDs. Creates an AND-exclude filter to remove content about these individuals. Uses precise identifiers to avoid name ambiguity.
     */
    excludePersonWikidataId?: Array<string>;
    /**
     * Filter articles by exact person name matches. Does not support Boolean or complex logic. For available person entities, consult the /people endpoint.
     */
    personName?: Array<string>;
    /**
     * Exclude articles mentioning specific people by name. Creates an AND-exclude filter to remove content about these individuals.
     */
    excludePersonName?: Array<string>;
    /**
     * Filter articles by company identifiers. For a complete list of tracked companies, refer to the /companies endpoint.
     */
    companyId?: Array<string>;
    /**
     * Exclude articles mentioning companies with specific identifiers. Creates an AND-exclude filter to remove content about these corporate entities.
     */
    excludeCompanyId?: Array<string>;
    /**
     * Filter articles by company name mentions. Performs an exact match on company names.
     */
    companyName?: string;
    /**
     * Filter articles by company domains (e.g., apple.com). For available company entities, consult the /companies endpoint.
     */
    companyDomain?: Array<string>;
    /**
     * Exclude articles related to companies with specific domains. Creates an AND-exclude filter to remove content about these companies.
     */
    excludeCompanyDomain?: Array<string>;
    /**
     * Filter articles by company stock symbols. For available company entities and their symbols, consult the /companies endpoint.
     */
    companySymbol?: Array<string>;
    /**
     * A list of stock symbols (ticker symbols) that identify companies to be excluded. Articles related to companies using any of these symbols will be omitted, which is useful for targeting or avoiding specific public companies.
     */
    excludeCompanySymbol?: Array<string>;
    /**
     * Whether to show the total number of all matched articles. Default value is false which makes queries a bit more efficient but also counts up to 10000 articles.
     */
    showNumResults?: boolean;
    /**
     * Filter articles with a positive sentiment score greater than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger positive tone.
     */
    positiveSentimentFrom?: number;
    /**
     * Filter articles with a positive sentiment score less than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger positive tone.
     */
    positiveSentimentTo?: number;
    /**
     * Filter articles with a neutral sentiment score greater than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger neutral tone.
     */
    neutralSentimentFrom?: number;
    /**
     * Filter articles with a neutral sentiment score less than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger neutral tone.
     */
    neutralSentimentTo?: number;
    /**
     * Filter articles with a negative sentiment score greater than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger negative tone.
     */
    negativeSentimentFrom?: number;
    /**
     * Filter articles with a negative sentiment score less than or equal to the specified value. Scores range from 0 to 1, with higher values indicating stronger negative tone.
     */
    negativeSentimentTo?: number;
    /**
     * Filters by Google Content Categories. This field will accept 1 or more categories, must pass the full name of the category. Example: taxonomy&#x3D;/Finance/Banking/Other, /Finance/Investing/Funds. [Full list](https://cloud.google.com/natural-language/docs/categories)
     */
    taxonomy?: Array<string>;
    /**
     * Filters by Google Content Categories. This field will filter by the category prefix only. Example: prefixTaxonomy&#x3D;/Finance
     */
    prefixTaxonomy?: string;
}
interface SearchTopicsRequest {
    /**
     * Search for topics by exact name or partial text match. Does not support wildcards. Examples include Markets, Cryptocurrency, Climate Change, etc.
     */
    name?: string;
    /**
     * Filter topics by broad article categories such as Politics, Tech, Sports, Business, Finance, Entertainment, etc.
     */
    category?: string;
    /**
     * Filter topics by their specific subcategory. Subcategories provide more granular classification beyond the main category, such as TV or Event.
     */
    subcategory?: string;
    /**
     * The specific page of results to retrieve in the paginated response. Starts at 0.
     */
    page?: number;
    /**
     * The number of topics to return per page in the paginated response.
     */
    size?: number;
}
interface VectorSearchArticlesRequest {
    /**
     * Parameter articleSearchParams
     * @required
     */
    articleSearchParams: ArticleSearchParams;
}
/**
 * V1Api - interface
 *
 * @export
 * @interface V1ApiInterface
 */
interface V1ApiInterface {
    /**
     * Find additional details on a journalist by using the journalist ID found in an article response object.
     * @summary Journalists ID
     * @param requestParameters - Request parameters (see interface for details)
     * @param initOverrides - Override the default HTTP request configuration
     * @returns {Promise<runtime.ApiResponse<Journalist>}} Raw API response
     * @throws {RequiredError}
     * @memberof V1ApiInterface
     */
    getJournalistByIdRaw(requestParameters: GetJournalistByIdRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<Journalist>>;
    /**
     * Find additional details on a journalist by using the journalist ID found in an article response object.
     * Journalists ID
     */
    getJournalistById(requestParameters: GetJournalistByIdRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<Journalist>;
    /**
     * Search and filter all news articles available via the Perigon API. The result includes a list of individual articles that were matched to your specific criteria.
     * @summary Articles
     * @param requestParameters - Request parameters (see interface for details)
     * @param initOverrides - Override the default HTTP request configuration
     * @returns {Promise<runtime.ApiResponse<QuerySearchResult>}} Raw API response
     * @throws {RequiredError}
     * @memberof V1ApiInterface
     */
    searchArticlesRaw(requestParameters: SearchArticlesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<QuerySearchResult>>;
    /**
     * Search and filter all news articles available via the Perigon API. The result includes a list of individual articles that were matched to your specific criteria.
     * Articles
     */
    searchArticles(requestParameters: SearchArticlesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<QuerySearchResult>;
    /**
     * Browse or search for companies Perigon tracks using name, domain, ticker symbol, industry, and more. Supports Boolean search logic and filtering by metadata such as country, exchange, employee count, and IPO date.
     * @summary Companies
     * @param requestParameters - Request parameters (see interface for details)
     * @param initOverrides - Override the default HTTP request configuration
     * @returns {Promise<runtime.ApiResponse<CompanySearchResult>}} Raw API response
     * @throws {RequiredError}
     * @memberof V1ApiInterface
     */
    searchCompaniesRaw(requestParameters: SearchCompaniesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<CompanySearchResult>>;
    /**
     * Browse or search for companies Perigon tracks using name, domain, ticker symbol, industry, and more. Supports Boolean search logic and filtering by metadata such as country, exchange, employee count, and IPO date.
     * Companies
     */
    searchCompanies(requestParameters: SearchCompaniesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<CompanySearchResult>;
    /**
     * Search journalists using broad search attributes. Our database contains over 230,000 journalists from around the world and is refreshed frequently.
     * @summary Journalists
     * @param requestParameters - Request parameters (see interface for details)
     * @param initOverrides - Override the default HTTP request configuration
     * @returns {Promise<runtime.ApiResponse<JournalistSearchResult>}} Raw API response
     * @throws {RequiredError}
     * @memberof V1ApiInterface
     */
    searchJournalistsRaw(requestParameters: SearchJournalistsRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<JournalistSearchResult>>;
    /**
     * Search journalists using broad search attributes. Our database contains over 230,000 journalists from around the world and is refreshed frequently.
     * Journalists
     */
    searchJournalists(requestParameters: SearchJournalistsRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<JournalistSearchResult>;
    /**
     * Search and retrieve additional information on known persons that exist within Perigon\'s entity database and as referenced in any article response object. Our database contains over 650,000 people from around the world and is refreshed frequently. People data is derived from Wikidata and includes a wikidataId field that can be used to lookup even more information on Wikidata\'s website.
     * @summary People
     * @param requestParameters - Request parameters (see interface for details)
     * @param initOverrides - Override the default HTTP request configuration
     * @returns {Promise<runtime.ApiResponse<PeopleSearchResult>}} Raw API response
     * @throws {RequiredError}
     * @memberof V1ApiInterface
     */
    searchPeopleRaw(requestParameters: SearchPeopleRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<PeopleSearchResult>>;
    /**
     * Search and retrieve additional information on known persons that exist within Perigon\'s entity database and as referenced in any article response object. Our database contains over 650,000 people from around the world and is refreshed frequently. People data is derived from Wikidata and includes a wikidataId field that can be used to lookup even more information on Wikidata\'s website.
     * People
     */
    searchPeople(requestParameters: SearchPeopleRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<PeopleSearchResult>;
    /**
     * Search and filter the 142,000+ media sources available via the Perigon API. The result includes a list of individual media sources that were matched to your specific criteria.
     * @summary Sources
     * @param requestParameters - Request parameters (see interface for details)
     * @param initOverrides - Override the default HTTP request configuration
     * @returns {Promise<runtime.ApiResponse<SourceSearchResult>}} Raw API response
     * @throws {RequiredError}
     * @memberof V1ApiInterface
     */
    searchSourcesRaw(requestParameters: SearchSourcesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<SourceSearchResult>>;
    /**
     * Search and filter the 142,000+ media sources available via the Perigon API. The result includes a list of individual media sources that were matched to your specific criteria.
     * Sources
     */
    searchSources(requestParameters: SearchSourcesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<SourceSearchResult>;
    /**
     * Search and filter all news stories available via the Perigon API. Each story aggregates key information across related articles, including AI-generated names, summaries, and key points.
     * @summary Stories
     * @param requestParameters - Request parameters (see interface for details)
     * @param initOverrides - Override the default HTTP request configuration
     * @returns {Promise<runtime.ApiResponse<StorySearchResult>}} Raw API response
     * @throws {RequiredError}
     * @memberof V1ApiInterface
     */
    searchStoriesRaw(requestParameters: SearchStoriesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<StorySearchResult>>;
    /**
     * Search and filter all news stories available via the Perigon API. Each story aggregates key information across related articles, including AI-generated names, summaries, and key points.
     * Stories
     */
    searchStories(requestParameters: SearchStoriesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<StorySearchResult>;
    /**
     * Produce a single, concise summary over the full corpus of articles matching your filters, using your prompt to guide which insights to highlight.
     * @summary Search Summarizer
     * @param requestParameters - Request parameters (see interface for details)
     * @param initOverrides - Override the default HTTP request configuration
     * @returns {Promise<runtime.ApiResponse<SummarySearchResult>}} Raw API response
     * @throws {RequiredError}
     * @memberof V1ApiInterface
     */
    searchSummarizerRaw(requestParameters: SearchSummarizerRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<SummarySearchResult>>;
    /**
     * Produce a single, concise summary over the full corpus of articles matching your filters, using your prompt to guide which insights to highlight.
     * Search Summarizer
     */
    searchSummarizer(requestParameters: SearchSummarizerRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<SummarySearchResult>;
    /**
     * Search through all available Topics that exist within the Perigon Database.
     * @summary Topics
     * @param requestParameters - Request parameters (see interface for details)
     * @param initOverrides - Override the default HTTP request configuration
     * @returns {Promise<runtime.ApiResponse<TopicSearchResult>}} Raw API response
     * @throws {RequiredError}
     * @memberof V1ApiInterface
     */
    searchTopicsRaw(requestParameters: SearchTopicsRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<TopicSearchResult>>;
    /**
     * Search through all available Topics that exist within the Perigon Database.
     * Topics
     */
    searchTopics(requestParameters: SearchTopicsRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<TopicSearchResult>;
    /**
     * Perform a natural language search over news articles from the past 6 months using semantic relevance. The result includes a list of articles most closely matched to your query intent.
     * @summary Vector
     * @param requestParameters - Request parameters (see interface for details)
     * @param initOverrides - Override the default HTTP request configuration
     * @returns {Promise<runtime.ApiResponse<VectorSearchResult>}} Raw API response
     * @throws {RequiredError}
     * @memberof V1ApiInterface
     */
    vectorSearchArticlesRaw(requestParameters: VectorSearchArticlesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<VectorSearchResult>>;
    /**
     * Perform a natural language search over news articles from the past 6 months using semantic relevance. The result includes a list of articles most closely matched to your query intent.
     * Vector
     */
    vectorSearchArticles(requestParameters: VectorSearchArticlesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<VectorSearchResult>;
}
/**
 *
 */
declare class V1Api extends BaseAPI implements V1ApiInterface {
    /**
     * Find additional details on a journalist by using the journalist ID found in an article response object.
     * Journalists ID
     */
    getJournalistByIdRaw(requestParameters: GetJournalistByIdRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<Journalist>>;
    /**
     * Find additional details on a journalist by using the journalist ID found in an article response object.
     * Journalists ID
     */
    getJournalistById(requestParameters: GetJournalistByIdRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<Journalist>;
    /**
     * Search and filter all news articles available via the Perigon API. The result includes a list of individual articles that were matched to your specific criteria.
     * Articles
     */
    searchArticlesRaw(requestParameters: SearchArticlesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<QuerySearchResult>>;
    /**
     * Search and filter all news articles available via the Perigon API. The result includes a list of individual articles that were matched to your specific criteria.
     * Articles
     */
    searchArticles(requestParameters?: SearchArticlesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<QuerySearchResult>;
    /**
     * Browse or search for companies Perigon tracks using name, domain, ticker symbol, industry, and more. Supports Boolean search logic and filtering by metadata such as country, exchange, employee count, and IPO date.
     * Companies
     */
    searchCompaniesRaw(requestParameters: SearchCompaniesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<CompanySearchResult>>;
    /**
     * Browse or search for companies Perigon tracks using name, domain, ticker symbol, industry, and more. Supports Boolean search logic and filtering by metadata such as country, exchange, employee count, and IPO date.
     * Companies
     */
    searchCompanies(requestParameters?: SearchCompaniesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<CompanySearchResult>;
    /**
     * Search journalists using broad search attributes. Our database contains over 230,000 journalists from around the world and is refreshed frequently.
     * Journalists
     */
    searchJournalistsRaw(requestParameters: SearchJournalistsRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<JournalistSearchResult>>;
    /**
     * Search journalists using broad search attributes. Our database contains over 230,000 journalists from around the world and is refreshed frequently.
     * Journalists
     */
    searchJournalists(requestParameters?: SearchJournalistsRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<JournalistSearchResult>;
    /**
     * Search and retrieve additional information on known persons that exist within Perigon\'s entity database and as referenced in any article response object. Our database contains over 650,000 people from around the world and is refreshed frequently. People data is derived from Wikidata and includes a wikidataId field that can be used to lookup even more information on Wikidata\'s website.
     * People
     */
    searchPeopleRaw(requestParameters: SearchPeopleRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<PeopleSearchResult>>;
    /**
     * Search and retrieve additional information on known persons that exist within Perigon\'s entity database and as referenced in any article response object. Our database contains over 650,000 people from around the world and is refreshed frequently. People data is derived from Wikidata and includes a wikidataId field that can be used to lookup even more information on Wikidata\'s website.
     * People
     */
    searchPeople(requestParameters?: SearchPeopleRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<PeopleSearchResult>;
    /**
     * Search and filter the 142,000+ media sources available via the Perigon API. The result includes a list of individual media sources that were matched to your specific criteria.
     * Sources
     */
    searchSourcesRaw(requestParameters: SearchSourcesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<SourceSearchResult>>;
    /**
     * Search and filter the 142,000+ media sources available via the Perigon API. The result includes a list of individual media sources that were matched to your specific criteria.
     * Sources
     */
    searchSources(requestParameters?: SearchSourcesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<SourceSearchResult>;
    /**
     * Search and filter all news stories available via the Perigon API. Each story aggregates key information across related articles, including AI-generated names, summaries, and key points.
     * Stories
     */
    searchStoriesRaw(requestParameters: SearchStoriesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<StorySearchResult>>;
    /**
     * Search and filter all news stories available via the Perigon API. Each story aggregates key information across related articles, including AI-generated names, summaries, and key points.
     * Stories
     */
    searchStories(requestParameters?: SearchStoriesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<StorySearchResult>;
    /**
     * Produce a single, concise summary over the full corpus of articles matching your filters, using your prompt to guide which insights to highlight.
     * Search Summarizer
     */
    searchSummarizerRaw(requestParameters: SearchSummarizerRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<SummarySearchResult>>;
    /**
     * Produce a single, concise summary over the full corpus of articles matching your filters, using your prompt to guide which insights to highlight.
     * Search Summarizer
     */
    searchSummarizer(requestParameters: SearchSummarizerRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<SummarySearchResult>;
    /**
     * Search through all available Topics that exist within the Perigon Database.
     * Topics
     */
    searchTopicsRaw(requestParameters: SearchTopicsRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<TopicSearchResult>>;
    /**
     * Search through all available Topics that exist within the Perigon Database.
     * Topics
     */
    searchTopics(requestParameters?: SearchTopicsRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<TopicSearchResult>;
    /**
     * Perform a natural language search over news articles from the past 6 months using semantic relevance. The result includes a list of articles most closely matched to your query intent.
     * Vector
     */
    vectorSearchArticlesRaw(requestParameters: VectorSearchArticlesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<ApiResponse<VectorSearchResult>>;
    /**
     * Perform a natural language search over news articles from the past 6 months using semantic relevance. The result includes a list of articles most closely matched to your query intent.
     * Vector
     */
    vectorSearchArticles(requestParameters: VectorSearchArticlesRequest, initOverrides?: RequestInit | InitOverrideFunction): Promise<VectorSearchResult>;
}

export { AllEndpointSortBy, AllEndpointSortByFromJSON, AllEndpointSortByFromJSONTyped, AllEndpointSortByToJSON, AllEndpointSortByToJSONTyped, type ApiResponse, type Article, ArticleFromJSON, ArticleFromJSONTyped, type ArticleSearchFilter, ArticleSearchFilterFromJSON, ArticleSearchFilterFromJSONTyped, ArticleSearchFilterToJSON, ArticleSearchFilterToJSONTyped, type ArticleSearchParams, ArticleSearchParamsFromJSON, ArticleSearchParamsFromJSONTyped, ArticleSearchParamsToJSON, ArticleSearchParamsToJSONTyped, ArticleToJSON, ArticleToJSONTyped, type AuthException, AuthExceptionFromJSON, AuthExceptionFromJSONTyped, AuthExceptionStatusCodeEnum, AuthExceptionToJSON, AuthExceptionToJSONTyped, BASE_PATH, BaseAPI, BlobApiResponse, COLLECTION_FORMATS, type CategoryHolder, CategoryHolderFromJSON, CategoryHolderFromJSONTyped, CategoryHolderToJSON, CategoryHolderToJSONTyped, type CategoryWithScoreHolder, CategoryWithScoreHolderFromJSON, CategoryWithScoreHolderFromJSONTyped, CategoryWithScoreHolderToJSON, CategoryWithScoreHolderToJSONTyped, type Company, type CompanyCount, CompanyCountFromJSON, CompanyCountFromJSONTyped, CompanyCountToJSON, CompanyCountToJSONTyped, CompanyFromJSON, CompanyFromJSONTyped, type CompanyHolder, CompanyHolderFromJSON, CompanyHolderFromJSONTyped, CompanyHolderToJSON, CompanyHolderToJSONTyped, type CompanySearchResult, CompanySearchResultFromJSON, CompanySearchResultFromJSONTyped, CompanySearchResultToJSON, CompanySearchResultToJSONTyped, CompanyToJSON, CompanyToJSONTyped, Configuration, type ConfigurationParameters, type Consume, type Coordinate, type CoordinateFilter, CoordinateFilterFromJSON, CoordinateFilterFromJSONTyped, CoordinateFilterToJSON, CoordinateFilterToJSONTyped, CoordinateFromJSON, CoordinateFromJSONTyped, CoordinateToJSON, CoordinateToJSONTyped, DefaultConfig, type EntityHolder, EntityHolderFromJSON, EntityHolderFromJSONTyped, EntityHolderToJSON, EntityHolderToJSONTyped, type ErrorContext, type EventTypeHolder, EventTypeHolderFromJSON, EventTypeHolderFromJSONTyped, EventTypeHolderToJSON, EventTypeHolderToJSONTyped, type FetchAPI, FetchError, type FetchParams, type GetJournalistByIdRequest, type HTTPBody, type HTTPHeaders, type HTTPMethod, type HTTPQuery, type HTTPRequestInit, type IdNameHolder, IdNameHolderFromJSON, IdNameHolderFromJSONTyped, IdNameHolderToJSON, IdNameHolderToJSONTyped, type IllegalParameterException, IllegalParameterExceptionFromJSON, IllegalParameterExceptionFromJSONTyped, IllegalParameterExceptionToJSON, IllegalParameterExceptionToJSONTyped, type ImageHolder, ImageHolderFromJSON, ImageHolderFromJSONTyped, ImageHolderToJSON, ImageHolderToJSONTyped, type InitOverrideFunction, type InternalErrorException, InternalErrorExceptionFromJSON, InternalErrorExceptionFromJSONTyped, InternalErrorExceptionToJSON, InternalErrorExceptionToJSONTyped, JSONApiResponse, type Journalist, JournalistFromJSON, JournalistFromJSONTyped, type JournalistSearchResult, JournalistSearchResultFromJSON, JournalistSearchResultFromJSONTyped, JournalistSearchResultToJSON, JournalistSearchResultToJSONTyped, JournalistToJSON, JournalistToJSONTyped, type Json, type KeyPoint, KeyPointFromJSON, KeyPointFromJSONTyped, KeyPointToJSON, KeyPointToJSONTyped, type KeywordHolder, KeywordHolderFromJSON, KeywordHolderFromJSONTyped, KeywordHolderToJSON, KeywordHolderToJSONTyped, type LabelHolder, LabelHolderFromJSON, LabelHolderFromJSONTyped, LabelHolderToJSON, LabelHolderToJSONTyped, type LocationCount, LocationCountFromJSON, LocationCountFromJSONTyped, LocationCountToJSON, LocationCountToJSONTyped, type LocationHolder, LocationHolderFromJSON, LocationHolderFromJSONTyped, LocationHolderToJSON, LocationHolderToJSONTyped, type Middleware, type ModelPropertyNaming, type NameCount, NameCountFromJSON, NameCountFromJSONTyped, NameCountToJSON, NameCountToJSONTyped, type NewsCluster, NewsClusterFromJSON, NewsClusterFromJSONTyped, NewsClusterToJSON, NewsClusterToJSONTyped, type NotFoundException, NotFoundExceptionFromJSON, NotFoundExceptionFromJSONTyped, NotFoundExceptionToJSON, NotFoundExceptionToJSONTyped, type PeopleSearchResult, PeopleSearchResultFromJSON, PeopleSearchResultFromJSONTyped, PeopleSearchResultToJSON, PeopleSearchResultToJSONTyped, type Person, type PersonCount, PersonCountFromJSON, PersonCountFromJSONTyped, PersonCountToJSON, PersonCountToJSONTyped, PersonFromJSON, PersonFromJSONTyped, type PersonHolder, PersonHolderFromJSON, PersonHolderFromJSONTyped, PersonHolderToJSON, PersonHolderToJSONTyped, PersonToJSON, PersonToJSONTyped, type Place, PlaceFromJSON, PlaceFromJSONTyped, PlaceToJSON, PlaceToJSONTyped, type QuerySearchResult, QuerySearchResultFromJSON, QuerySearchResultFromJSONTyped, QuerySearchResultToJSON, QuerySearchResultToJSONTyped, type Question, QuestionFromJSON, QuestionFromJSONTyped, QuestionToJSON, QuestionToJSONTyped, type RecordStatHolder, RecordStatHolderFromJSON, RecordStatHolderFromJSONTyped, RecordStatHolderToJSON, RecordStatHolderToJSONTyped, type RequestContext, type RequestOpts, RequiredError, type ResponseContext, ResponseError, type ResponseTransformer, type ScoredArticle, ScoredArticleFromJSON, ScoredArticleFromJSONTyped, ScoredArticleToJSON, ScoredArticleToJSONTyped, type SearchArticlesRequest, type SearchCompaniesRequest, type SearchJournalistsRequest, type SearchPeopleRequest, type SearchSourcesRequest, type SearchStoriesRequest, type SearchSummarizerRequest, type SearchTopicsRequest, type SentimentHolder, SentimentHolderFromJSON, SentimentHolderFromJSONTyped, SentimentHolderToJSON, SentimentHolderToJSONTyped, SortBy, SortByFromJSON, SortByFromJSONTyped, SortByToJSON, SortByToJSONTyped, type Source, SourceFromJSON, SourceFromJSONTyped, type SourceHolder, SourceHolderFromJSON, SourceHolderFromJSONTyped, SourceHolderToJSON, SourceHolderToJSONTyped, type SourceLocation, SourceLocationFromJSON, SourceLocationFromJSONTyped, SourceLocationToJSON, SourceLocationToJSONTyped, type SourceSearchResult, SourceSearchResultFromJSON, SourceSearchResultFromJSONTyped, SourceSearchResultToJSON, SourceSearchResultToJSONTyped, SourceToJSON, SourceToJSONTyped, type SourceTopStatHolder, SourceTopStatHolderFromJSON, SourceTopStatHolderFromJSONTyped, SourceTopStatHolderToJSON, SourceTopStatHolderToJSONTyped, type StorySearchResult, StorySearchResultFromJSON, StorySearchResultFromJSONTyped, StorySearchResultToJSON, StorySearchResultToJSONTyped, type SummaryBody, SummaryBodyFromJSON, SummaryBodyFromJSONTyped, SummaryBodyMethodEnum, SummaryBodyModelEnum, SummaryBodySummarizeFieldsEnum, SummaryBodyToJSON, SummaryBodyToJSONTyped, type SummarySearchResult, SummarySearchResultFromJSON, SummarySearchResultFromJSONTyped, SummarySearchResultToJSON, SummarySearchResultToJSONTyped, type SymbolHolder, SymbolHolderFromJSON, SymbolHolderFromJSONTyped, SymbolHolderToJSON, SymbolHolderToJSONTyped, TextApiResponse, type TooManyRequestsException, type TooManyRequestsExceptionCause, TooManyRequestsExceptionCauseFromJSON, TooManyRequestsExceptionCauseFromJSONTyped, type TooManyRequestsExceptionCauseStackTraceInner, TooManyRequestsExceptionCauseStackTraceInnerFromJSON, TooManyRequestsExceptionCauseStackTraceInnerFromJSONTyped, TooManyRequestsExceptionCauseStackTraceInnerToJSON, TooManyRequestsExceptionCauseStackTraceInnerToJSONTyped, TooManyRequestsExceptionCauseToJSON, TooManyRequestsExceptionCauseToJSONTyped, TooManyRequestsExceptionFromJSON, TooManyRequestsExceptionFromJSONTyped, TooManyRequestsExceptionStatusEnum, type TooManyRequestsExceptionSuppressedInner, TooManyRequestsExceptionSuppressedInnerFromJSON, TooManyRequestsExceptionSuppressedInnerFromJSONTyped, TooManyRequestsExceptionSuppressedInnerToJSON, TooManyRequestsExceptionSuppressedInnerToJSONTyped, TooManyRequestsExceptionToJSON, TooManyRequestsExceptionToJSONTyped, type TopicDto, TopicDtoFromJSON, TopicDtoFromJSONTyped, TopicDtoToJSON, TopicDtoToJSONTyped, type TopicHolder, TopicHolderFromJSON, TopicHolderFromJSONTyped, TopicHolderToJSON, TopicHolderToJSONTyped, type TopicLabels, TopicLabelsFromJSON, TopicLabelsFromJSONTyped, TopicLabelsToJSON, TopicLabelsToJSONTyped, type TopicSearchResult, TopicSearchResultFromJSON, TopicSearchResultFromJSONTyped, TopicSearchResultToJSON, TopicSearchResultToJSONTyped, V1Api, type V1ApiInterface, type VectorSearchArticlesRequest, type VectorSearchResult, VectorSearchResultFromJSON, VectorSearchResultFromJSONTyped, VectorSearchResultToJSON, VectorSearchResultToJSONTyped, VoidApiResponse, type WebResources, WebResourcesFromJSON, WebResourcesFromJSONTyped, WebResourcesToJSON, WebResourcesToJSONTyped, type WikidataDateHolder, WikidataDateHolderFromJSON, WikidataDateHolderFromJSONTyped, WikidataDateHolderToJSON, WikidataDateHolderToJSONTyped, type WikidataLabelHolder, WikidataLabelHolderFromJSON, WikidataLabelHolderFromJSONTyped, WikidataLabelHolderToJSON, WikidataLabelHolderToJSONTyped, type WikidataPoliticalPartyHolder, WikidataPoliticalPartyHolderFromJSON, WikidataPoliticalPartyHolderFromJSONTyped, WikidataPoliticalPartyHolderToJSON, WikidataPoliticalPartyHolderToJSONTyped, type WikidataPositionHolder, WikidataPositionHolderFromJSON, WikidataPositionHolderFromJSONTyped, WikidataPositionHolderToJSON, WikidataPositionHolderToJSONTyped, canConsumeForm, exists, instanceOfAllEndpointSortBy, instanceOfArticle, instanceOfArticleSearchFilter, instanceOfArticleSearchParams, instanceOfAuthException, instanceOfCategoryHolder, instanceOfCategoryWithScoreHolder, instanceOfCompany, instanceOfCompanyCount, instanceOfCompanyHolder, instanceOfCompanySearchResult, instanceOfCoordinate, instanceOfCoordinateFilter, instanceOfEntityHolder, instanceOfEventTypeHolder, instanceOfIdNameHolder, instanceOfIllegalParameterException, instanceOfImageHolder, instanceOfInternalErrorException, instanceOfJournalist, instanceOfJournalistSearchResult, instanceOfKeyPoint, instanceOfKeywordHolder, instanceOfLabelHolder, instanceOfLocationCount, instanceOfLocationHolder, instanceOfNameCount, instanceOfNewsCluster, instanceOfNotFoundException, instanceOfPeopleSearchResult, instanceOfPerson, instanceOfPersonCount, instanceOfPersonHolder, instanceOfPlace, instanceOfQuerySearchResult, instanceOfQuestion, instanceOfRecordStatHolder, instanceOfScoredArticle, instanceOfSentimentHolder, instanceOfSortBy, instanceOfSource, instanceOfSourceHolder, instanceOfSourceLocation, instanceOfSourceSearchResult, instanceOfSourceTopStatHolder, instanceOfStorySearchResult, instanceOfSummaryBody, instanceOfSummarySearchResult, instanceOfSymbolHolder, instanceOfTooManyRequestsException, instanceOfTooManyRequestsExceptionCause, instanceOfTooManyRequestsExceptionCauseStackTraceInner, instanceOfTooManyRequestsExceptionSuppressedInner, instanceOfTopicDto, instanceOfTopicHolder, instanceOfTopicLabels, instanceOfTopicSearchResult, instanceOfVectorSearchResult, instanceOfWebResources, instanceOfWikidataDateHolder, instanceOfWikidataLabelHolder, instanceOfWikidataPoliticalPartyHolder, instanceOfWikidataPositionHolder, mapValues, querystring };
