import type { PatchesOption, TravelsOptions } from './type'; import { Travels } from './travels'; /** * Create a new Travels instance with auto archive mode */ export function createTravels< S, F extends boolean = false, P extends PatchesOption = {}, >( initialState: S, options?: Omit, 'autoArchive'> & { autoArchive?: true; } ): Travels; /** * Create a new Travels instance with manual archive mode */ export function createTravels< S, F extends boolean = false, P extends PatchesOption = {}, >( initialState: S, options: Omit, 'autoArchive'> & { autoArchive: false; } ): Travels; /** * Create a new Travels instance */ export function createTravels< S, F extends boolean, A extends boolean, P extends PatchesOption = {}, >(initialState: S, options: TravelsOptions = {}): Travels { return new Travels(initialState, options); }