import type { Contributor } from 'myst-frontmatter';
import type { ISession } from '../../session/types.js';
/**
 * Extract and normalize ORCID ID from a string (handles URLs like https://orcid.org/0000-0002-7859-8394)
 */
export declare function extractORCID(input: string): string;
/**
 * Validate ORCID format (xxxx-xxxx-xxxx-xxxx)
 */
export declare function validateORCID(orcidStr: string): boolean;
/**
 * Detect if a string is an ORCID ID
 */
export declare function isORCID(input: string): boolean;
/**
 * Detect if a string is a valid GitHub username
 * GitHub usernames: 1-39 chars, alphanumeric or hyphens, cannot start/end with hyphen
 */
export declare function isGitHubUsername(input: string): boolean;
/**
 * Fetch author information from ORCID Public API
 */
export declare function fetchORCIDInfo(session: ISession, orcidId: string): Promise<Contributor | null>;
/**
 * Fetch author information from GitHub API and profile page
 */
export declare function fetchGitHubInfo(session: ISession, username: string): Promise<Contributor | null>;
/**
 * Unified author lookup: automatically detects if input is ORCID or GitHub username
 * and fetches the appropriate data
 */
export declare function lookupAuthor(session: ISession, identifier: string): Promise<Contributor | null>;
//# sourceMappingURL=peopleLookup.d.ts.map