export type SwicoLocationType = { query?: Record; params?: Record; hash: string; name: string; path: string; pathname: string; search: string; state?: Record; custom?: any; }; export type SwicoHistoryOptionType = { query?: Record; params?: Record; hash?: string; path?: string; name?: string; state?: Record; }; export type SwicoHistoryType = { push: (to: string | SwicoHistoryOptionType) => void; replace: SwicoHistoryType['push']; go: (delta: number) => void; forward: () => void; back: () => void; location: SwicoLocationType; }; export type UseLocationType = () => SwicoLocationType; export type NavOptionsType = { replace: boolean; }; export type UseNavType = () => { (to: string, options?: NavOptionsType): void; (to: number): void; (to: SwicoHistoryOptionType, options?: NavOptionsType): void; };