export type ExtractStaticSegments<T extends string> = T extends `${infer First}/${infer Rest}` ? First extends `:${string}` ? ExtractStaticSegments<Rest> : First | ExtractStaticSegments<Rest> : T extends `:${string}` ? never : T;
export type SegmentObject<T extends string> = {
    [K in T]: K;
};
/**
 * Extracts static segments from a URL pattern and returns them as a typed object
 * Types are automatically inferred from the URL pattern
 * @param url - The URL pattern to parse
 * @returns Object with extracted segments with automatic type inference
 */
export declare function urlToSegments<T extends string>(url: T): SegmentObject<ExtractStaticSegments<T>>;
