import type { HttpFeature } from '@ngify/http';
import type { Provider } from '@outposts/injection-js';
/**
 * A feature to be used with `provideAuth`.
 */
export interface AuthFeature {
    ɵproviders: Provider[];
}
export interface BrowserPlatformFeatureOptions {
    enabled?: boolean;
}
export declare function withBrowserPlatform({ enabled, }?: BrowserPlatformFeatureOptions): AuthFeature;
export interface HttpClientFeatureOptions {
    enabled?: boolean;
    features?: HttpFeature[];
}
export declare function withHttpClient({ features, enabled, }?: HttpClientFeatureOptions): AuthFeature;
export type SecurityStorageType = 'session-storage' | 'local-storage';
export interface SecurityStorageFeatureOptions {
    enabled?: boolean;
    type?: SecurityStorageType;
}
export declare function withSecurityStorage({ enabled, type, }?: SecurityStorageFeatureOptions): AuthFeature;
export type VanillaRouterType = 'location' | 'history';
export interface VanillaRouterFeatureOptions {
    enabled?: boolean;
    type?: VanillaRouterType;
}
export declare function withVanillaRouter({ enabled, type, }?: VanillaRouterFeatureOptions): AuthFeature;
export interface DefaultFeaturesOptions {
    browserPlatform?: BrowserPlatformFeatureOptions;
    securityStorage?: SecurityStorageFeatureOptions;
    router?: VanillaRouterFeatureOptions;
    httpClient?: HttpClientFeatureOptions;
}
export declare function withDefaultFeatures(options?: DefaultFeaturesOptions): AuthFeature[];
//# sourceMappingURL=core.d.ts.map