import { Observable } from 'rxjs';
import { SkyRecentlyAccessedAddLinkArgs } from './recently-accessed-add-link-args';
import { SkyRecentlyAccessedAddLinkResult } from './recently-accessed-add-link-result';
import { SkyRecentlyAccessedAddRouteArgs } from './recently-accessed-add-route-args';
import { SkyRecentlyAccessedGetLinksArgs } from './recently-accessed-get-links-args';
import { SkyRecentlyAccessedLinkList } from './recently-accessed-link-list';
import * as i0 from "@angular/core";
/**
 * A service for creating and retrieving recently accessed links.
 */
export declare abstract class SkyRecentlyAccessedService {
    /**
     * Adds a recently accessed link based on an Angular route.
     * @param args The route to add.
     */
    abstract addRoute(args: SkyRecentlyAccessedAddRouteArgs): Observable<SkyRecentlyAccessedAddLinkResult>;
    /**
     * Adds a recently accessed link based on metadata about the link.
     * @param args The link to add.
     */
    abstract addLink(args: SkyRecentlyAccessedAddLinkArgs): Observable<SkyRecentlyAccessedAddLinkResult>;
    /**
     * Gets a list of recently accessed links.
     * @param args The links to retrieve.
     */
    abstract getLinks(args: SkyRecentlyAccessedGetLinksArgs): Observable<SkyRecentlyAccessedLinkList>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SkyRecentlyAccessedService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SkyRecentlyAccessedService>;
}
