import { NavigationExtras } from '@angular/router';
export declare type ArrayElement<A> = A extends readonly (infer T)[] ? T : never;
declare type DeepWriteable<T> = {
    -readonly [P in keyof T]: DeepWriteable<T[P]>;
};
declare type Cast<X, Y> = X extends Y ? X : Y;
declare type FromEntries<T> = T extends [infer Key, any][] ? {
    [K in Cast<Key, string>]: Extract<ArrayElement<T>, [K, any]>[1];
} : {
    [key in string]: any;
};
export declare type FromEntriesWithReadOnly<T> = FromEntries<DeepWriteable<T>>;
declare global {
    interface ObjectConstructor {
        fromEntries<T>(obj: T): FromEntriesWithReadOnly<T>;
    }
}
export declare class BreadCrumbItem {
    /** A unique ID for each crumb linked to a page */
    id: string;
    /** The label of the crumb */
    label: string;
    /** A URL link. Commands to pass to {@link Router#createUrlTree Router#createUrlTree}.
     *   - **array**: commands to pass to {@link Router#createUrlTree Router#createUrlTree}.
     *   - **string**: shorthand for array of commands with just the string, i.e. `['/route']`
     *   - **null|undefined**: Disables the link by removing the `href`
     */
    get link(): string | any[];
    set link(link: string | any[]);
    /** Extras for Angular Router */
    navigationExtras?: NavigationExtras;
    private _link?;
}
export {};
