import { Client as BaseClient } from 'hapic';
import type { OAuth2JsonWebKey, OpenIDProviderMetadata } from '@authup/specs';
import { ClientAPI, ClientPermissionAPI, ClientRoleAPI, ClientScopeAPI, IdentityProviderAPI, IdentityProviderRoleMappingAPI, OAuth2AuthorizeAPI, OAuth2TokenAPI, OAuth2UserInfoAPI, PermissionAPI, PolicyAPI, RealmAPI, RobotAPI, RobotPermissionAPI, RobotRoleAPI, RoleAPI, RoleAttributeAPI, RolePermissionAPI, ScopeAPI, UserAPI, UserAttributeAPI, UserPermissionAPI, UserRoleAPI } from '../domains';
import type { ClientOptions } from './type';
export declare class Client extends BaseClient {
    readonly token: OAuth2TokenAPI;
    readonly authorize: OAuth2AuthorizeAPI;
    readonly client: ClientAPI;
    readonly clientPermission: ClientPermissionAPI;
    readonly clientRole: ClientRoleAPI;
    readonly clientScope: ClientScopeAPI;
    readonly identityProvider: IdentityProviderAPI;
    readonly identityProviderRoleMapping: IdentityProviderRoleMappingAPI;
    readonly policy: PolicyAPI;
    readonly permission: PermissionAPI;
    readonly realm: RealmAPI;
    readonly robot: RobotAPI;
    readonly robotPermission: RobotPermissionAPI;
    readonly robotRole: RobotRoleAPI;
    readonly role: RoleAPI;
    readonly roleAttribute: RoleAttributeAPI;
    readonly rolePermission: RolePermissionAPI;
    readonly scope: ScopeAPI;
    readonly user: UserAPI;
    readonly userInfo: OAuth2UserInfoAPI;
    readonly userAttribute: UserAttributeAPI;
    readonly userPermission: UserPermissionAPI;
    readonly userRole: UserRoleAPI;
    constructor(config?: ClientOptions);
    getJwks(): Promise<OAuth2JsonWebKey[]>;
    getJwk(id: string): Promise<OAuth2JsonWebKey>;
    getWellKnownOpenIDConfiguration(): Promise<OpenIDProviderMetadata>;
}
//# sourceMappingURL=module.d.ts.map