/// <reference types="bluebird" />
import * as Promise from 'bluebird';
import { HudAiCreateAttributes, HudAiListAttributes, HudAiUpdateAttributes, Resource } from '../utils/Resource';
import { RequestManager } from '../RequestManager';
import { Company } from '../entities';
export interface CompanyListAttributes extends HudAiListAttributes {
    id?: string;
    name?: string;
    ticker?: string;
    keyTerm?: string;
}
export interface CompanySearchAttributes extends HudAiListAttributes {
    id?: string;
    query?: string;
    homepageUrl?: string;
}
export interface CompanyCreateAttributes extends HudAiCreateAttributes {
    name: string;
    ticker?: string;
}
export interface CompanyUpdateAttributes extends HudAiUpdateAttributes {
    name?: string;
    ticker?: string;
}
export declare class CompanyResource extends Resource<Company, CompanyListAttributes, CompanyCreateAttributes, CompanyUpdateAttributes> {
    constructor(requestManager: RequestManager);
    list(listArgs: CompanyListAttributes): Promise<{
        count: number;
        rows: Company[];
    }>;
    search(searchArgs: CompanySearchAttributes): Promise<{}>;
    suggest(text: string): Promise<{}>;
    availableData(ids: string | string[]): Promise<{}[]>;
    create(createArgs: CompanyCreateAttributes): Promise<Company>;
    get(id: string | number): Promise<Company>;
    update(id: string | number, updateArgs: CompanyUpdateAttributes): Promise<Company>;
    del(id: string | number): Promise<void>;
    destroy(id: string | number): Promise<void>;
}
