import { App, InjectionKey } from 'vue'; import { OAuthClientOptions, OAuthClient } from './OAuthClient'; export { OAuthClient }; export { LocalStorage } from './LocalStorage'; export { SessionStorage } from './SessionStorage'; export { Storage } from './Storage'; export declare const authClientInjectionKey: InjectionKey; export declare class OAuthClientPlugin extends OAuthClient { install(app: App, { global }?: { global?: boolean | undefined; }): void; } /** * Create a new OAuthClient instance. * @param options - The OAuthClient options, see {@link OAuthClientOptions}. * @returns {@link OAuthClient} instance. * @example * ```typescript * import { createOAuthClient } from '@volverjs/auth-vue' * import { createApp } from 'vue' * import App from './App.vue' * * const app = createApp(App) * const authClient = createOAuthClient({ * url: 'https://example.com', * clientId: 'my-client-id', * }) * * app.use(authClient, { global: true }) * ``` */ export declare function createOAuthClient(options: OAuthClientOptions): OAuthClientPlugin; /** * Use the composition API to get the OAuthClient instance. * @param options - The OAuthClient options, see {@link OAuthClientOptions}. * @returns {@link OAuthClient} instance. * @remarks This function must be called in the `setup` function of a component. * @throws if the OAuthClient is not installed. * @throws if the function is not called in the `setup` function. * * @example * ```html * * * * ``` */ export declare function useOAuthClient(options?: OAuthClientOptions): OAuthClient;