import { TwentyConfig, Person, Company, Task, Note, SearchOptions } from '../types/twenty.js';
import { Opportunity, CreateOpportunityInput, UpdateOpportunityInput, SearchOpportunitiesInput } from '../types/opportunities.js';
import { Activity, Comment, CreateCommentInput, ActivityFilter, EntityActivitiesInput, ActivityTimeline } from '../types/activities.js';
import { FieldMetadata, ObjectSchema, ObjectSummary, MetadataQueryOptions, FieldQueryOptions } from '../types/metadata.js';
import { RelationshipSummary, CompanyContactsResult, PersonOpportunitiesResult, OrphanedRecords, LinkOpportunityInput, TransferContactInput } from '../types/relationships.js';
export declare class TwentyClient {
    private client;
    private baseUrl;
    constructor(config: TwentyConfig);
    createPerson(person: Person): Promise<Person>;
    getPerson(id: string): Promise<Person>;
    updatePerson(id: string, updates: Partial<Person>): Promise<Person>;
    searchPeople(query: string, options?: SearchOptions): Promise<Person[]>;
    createCompany(company: Company): Promise<Company>;
    getCompany(id: string): Promise<Company>;
    updateCompany(id: string, updates: Partial<Company>): Promise<Company>;
    searchCompanies(query: string, options?: SearchOptions): Promise<Company[]>;
    createTask(task: Task): Promise<Task>;
    getTasks(options?: SearchOptions): Promise<Task[]>;
    createNote(note: Note): Promise<Note>;
    createOpportunity(opportunity: CreateOpportunityInput): Promise<Opportunity>;
    getOpportunity(id: string): Promise<Opportunity>;
    updateOpportunity(input: UpdateOpportunityInput): Promise<Opportunity>;
    searchOpportunities(input: SearchOpportunitiesInput): Promise<Opportunity[]>;
    listOpportunitiesByStage(): Promise<Record<string, Opportunity[]>>;
    getActivities(filter?: ActivityFilter): Promise<ActivityTimeline>;
    filterActivities(filter: ActivityFilter): Promise<Activity[]>;
    createComment(input: CreateCommentInput): Promise<Comment>;
    getEntityActivities(input: EntityActivitiesInput): Promise<ActivityTimeline>;
    listAllObjects(options?: MetadataQueryOptions): Promise<ObjectSummary>;
    getObjectSchema(objectNameOrId: string): Promise<ObjectSchema>;
    getFieldMetadata(options?: FieldQueryOptions): Promise<FieldMetadata[]>;
    getCompanyContacts(companyId: string): Promise<CompanyContactsResult>;
    getPersonOpportunities(personId: string): Promise<PersonOpportunitiesResult>;
    linkOpportunityToCompany(input: LinkOpportunityInput): Promise<any>;
    transferContactToCompany(input: TransferContactInput): Promise<any>;
    getRelationshipSummary(entityId: string, entityType: string): Promise<RelationshipSummary>;
    findOrphanedRecords(): Promise<OrphanedRecords>;
}
//# sourceMappingURL=twenty-client.d.ts.map