import { IInstagramCredentials, IInstagramMediaItem, IInstagramUser, IInstagramTimelineFeed, IInstagramMediaInfo } from './types';
export declare class InstagramClient {
    private client;
    private isAuthenticated;
    constructor(credentials?: IInstagramCredentials);
    authenticate(credentials: IInstagramCredentials): Promise<void>;
    private delay;
    authenticateWithRetry(credentials: IInstagramCredentials, maxRetries?: number): Promise<void>;
    private ensureAuthenticated;
    getUserInfo(username: string): Promise<IInstagramUser>;
    searchUsers(query: string): Promise<IInstagramUser[]>;
    getTimelineFeed(maxId?: string): Promise<IInstagramTimelineFeed>;
    getMediaInfo(mediaId: string): Promise<IInstagramMediaInfo>;
    likeMedia(mediaId: string): Promise<void>;
    unlikeMedia(mediaId: string): Promise<void>;
    getFollowers(userId: string, limit?: number): Promise<IInstagramUser[]>;
    getFollowing(userId: string, limit?: number): Promise<IInstagramUser[]>;
    getUserMedia(userId: string, limit?: number): Promise<IInstagramMediaItem[]>;
    saveSession(): Promise<string>;
    loadSession(sessionData: string): Promise<void>;
}
