import { AuthNavigationPort } from '../../core/navigation.js'; import { AuthNotificationPort } from '../../core/notifications.js'; export type SignInEmailInput = { email: string; password: string; rememberMe?: boolean; }; export type SignInOperationResult = { ok: true; } | { ok: false; message: string; }; export type SignInControllerPorts = { navigate: AuthNavigationPort; notify?: AuthNotificationPort; signInEmail: (input: SignInEmailInput) => Promise; }; export type SignInControllerOptions = { afterSignIn?: string; }; export type SignInController = { afterSignIn: string; pending: boolean; password: string; setPassword: (value: string) => void; submit: (input: SignInEmailInput) => Promise; submitForm: (event: { currentTarget: { elements?: unknown; }; preventDefault: () => void; currentTargetFormData?: FormData; } & { currentTarget: HTMLFormElement; }) => void; }; export declare function createSignInController(ports: SignInControllerPorts, options?: SignInControllerOptions): SignInController;