import { Memo, UserStatus, Visibility } from './types.js';
/**
 * Memos Client Class
 * Used for interacting with Memos API
 */
export declare class MemosClient {
    private client;
    private url;
    private apiKey;
    private timeout;
    /**
     * Initialize Memos client
     * @param memosUrl Memos API URL
     * @param memosApiKey Memos API Key
     * @param timeout Request timeout (milliseconds)
     */
    constructor(memosUrl: string, memosApiKey: string, timeout?: number);
    /**
     * Get user details through authentication status
     * @returns User details
     */
    getUser(): Promise<UserStatus>;
    /**
     * Get user ID through authentication status
     * @returns User ID
     */
    getUserId(): Promise<string>;
    /**
     * Search Memos
     * @param keyWord Search keyword
     * @param state Filter by memo state (default is NORMAL, can also be ARCHIVED)
     * @returns List of Memos matching the criteria
     */
    searchMemos(keyWord: string, state: string): Promise<Memo[]>;
    /**
     * Create new Memo
     * @param content Memo content
     * @param tags List of tags
     * @param visibility Visibility settings
     * @returns Created Memo object
     */
    createMemo(content: string, tags?: string[], visibility?: Visibility): Promise<Memo>;
    /**
     * Get specified Memo
     * @param memoId Memo ID
     * @returns Memo object
     */
    getMemo(memoId: string): Promise<Memo>;
}
