import type { AuthenticatedUserDTO } from '../dto/AuthenticatedUserDTO';
import type { AuthCallbackCommandDTO } from '../dto/AuthCallbackCommandDTO';
import type { StartAuthCommandDTO } from '../dto/StartAuthCommandDTO';

export interface IdentityProviderPort {
  startAuth(command: StartAuthCommandDTO): Promise<{ redirectUrl: string; state: string }>;
  completeAuth(command: AuthCallbackCommandDTO): Promise<AuthenticatedUserDTO>;
}