import { Logger } from '../services/logger.js';
export interface GoogleContactsClientConfig {
    gOOGLEOAUTHCREDENTIALS?: string;
    oauth?: any;
    timeout?: number;
    rateLimit?: number;
    authToken?: string;
    logger?: Logger;
    oauthClient?: any;
}
export declare class GoogleContactsClient {
    private httpClient;
    private config;
    private sessionId;
    private logger;
    private oauthClient;
    constructor(config: GoogleContactsClientConfig);
    private setupRateLimit;
    private resolveBaseUrl;
    private getAuthHeaders;
    /**
     * Initialize the client (for OAuth clients that need initialization)
     */
    initialize(): Promise<void>;
    /**
     * Get the session ID for this client instance
     */
    getSessionId(): string;
    /**
     * Make an authenticated request with proper headers
     */
    private makeAuthenticatedRequest;
    private buildPath;
    createContact(params: any): Promise<any>;
    getPerson(params: any): Promise<any>;
    updateContact(params: any): Promise<any>;
    deleteContact(params: any): Promise<any>;
    listConnections(params: any): Promise<any>;
    searchContacts(params: any): Promise<any>;
    batchGetPeople(params: any): Promise<any>;
    listContactGroups(params: any): Promise<any>;
    createContactGroup(params: any): Promise<any>;
    getContactGroup(params: any): Promise<any>;
    updateContactGroup(params: any): Promise<any>;
    deleteContactGroup(params: any): Promise<any>;
    modifyContactGroupMembers(params: any): Promise<any>;
    listDirectoryPeople(params: any): Promise<any>;
    searchDirectoryPeople(params: any): Promise<any>;
    listOtherContacts(params: any): Promise<any>;
    searchOtherContacts(params: any): Promise<any>;
    copyOtherContact(params: any): Promise<any>;
}
//# sourceMappingURL=google-contacts-client.d.ts.map