import { PermissionEvaluator } from '@authup/access'; import type { OAuth2TokenGrantResponse } from '@authup/specs'; import { StoreAuthStatus } from './constants'; import type { RealmMinimal, StoreCreateContext, StoreLoginContext, StoreLogoutOptions, UserMinimal } from './types'; type InputFn = (...args: any[]) => Promise; type OutputFn = (...args: Parameters) => Promise>>; export declare function createStore(context: StoreCreateContext): { cookiesRead: import("vue").Ref; setCookiesRead: (value: boolean) => void; permissionEvaluator: PermissionEvaluator; login: (ctx: StoreLoginContext) => Promise; loginWithTokenGrant: (response: OAuth2TokenGrantResponse) => Promise; logout: (options?: StoreLogoutOptions) => Promise; loggedIn: import("vue").ComputedRef; status: import("vue").ComputedRef; lastAuthOrigin: import("vue").Ref<"login" | "exchange" | "restore", "login" | "exchange" | "restore">; resolve: OutputFn<() => Promise>; exchangeAuthorizationCode: (code: string, params?: { code_verifier?: string; redirect_uri?: string; client_id?: string; realm_id?: string; }) => Promise; applyTokenGrantResponse: (response: OAuth2TokenGrantResponse) => void; accessToken: import("vue").Ref; setAccessToken: (input: string | null) => void; accessTokenExpireDate: import("vue").Ref; setAccessTokenExpireDate: (input: Date | number | string | null) => void; refreshToken: import("vue").Ref; setRefreshToken: (input: string | null) => void; idToken: import("vue").Ref; setIdToken: (input: string | null) => void; realm: import("vue").Ref<{ name: string; id: string; displayName?: string | null; }, RealmMinimal | { name: string; id: string; displayName?: string | null; }>; realmId: import("vue").ComputedRef; realmIsRoot: import("vue").ComputedRef; realmName: import("vue").ComputedRef; setRealm: (input: RealmMinimal | null) => void; realmManagement: import("vue").Ref<{ name: string; id: string; displayName?: string | null; }, RealmMinimal | { name: string; id: string; displayName?: string | null; }>; realmManagementId: import("vue").ComputedRef; realmManagementName: import("vue").ComputedRef; setRealmManagement: (input: RealmMinimal | null) => void; user: import("vue").Ref<{ email: string; name: string; displayName: string | null; id: string; }, UserMinimal | { email: string; name: string; displayName: string | null; id: string; }>; userId: import("vue").ComputedRef; setUser: (input: UserMinimal | null) => void; sessionId: import("vue").Ref; acr: import("vue").Ref; }; export {}; //# sourceMappingURL=create.d.ts.map