import { TodoistApi } from '@doist/todoist-api-typescript';
export type ResolvedUser = {
    userId: string;
    displayName: string;
    email: string;
};
export type ProjectCollaborator = {
    id: string;
    name: string;
    email: string;
};
/** Keyword that resolves to the current authenticated user. */
export declare const SELF_USER_KEYWORD: "me";
export declare class UserResolver {
    /**
     * Resolve a user name or ID to a user ID by looking up collaborators across all shared projects.
     * Supports exact name matches, partial matches, email matches, and the "me" keyword.
     */
    resolveUser(client: TodoistApi, nameOrId: string): Promise<ResolvedUser | null>;
    /**
     * Validate that a user is a collaborator on a specific project
     */
    validateProjectCollaborator(client: TodoistApi, projectId: string, userId: string): Promise<boolean>;
    /**
     * Get collaborators for a specific project
     */
    getProjectCollaborators(client: TodoistApi, projectId: string): Promise<ProjectCollaborator[]>;
    /**
     * Get all collaborators from all shared projects
     */
    private getAllCollaborators;
    /**
     * Clear all caches - useful for testing
     */
    clearCache(): void;
}
export declare const userResolver: UserResolver;
export declare function resolveUserNameToId(client: TodoistApi, nameOrId: string): Promise<ResolvedUser | null>;
//# sourceMappingURL=user-resolver.d.ts.map