import { ApiErrorResponse } from '@userfrosting/sprinkle-core/interfaces';
import { RoleInterface } from '@userfrosting/sprinkle-account/interfaces';
/**
 * API used to fetch a match between all available roles and the user's role,
 * in a single component
 *
 * This API is tied to the `RolesSprunje` and `UserRoleSprunje` API, accessed at
 * the GET `/api/roles` and `/api/users/u/{username}/roles` endpoints.
 *
 * This composable accept a {username} to select the roles of a specific user.
 */
export declare function useUserRolesApi(): {
    error: import('vue').Ref<ApiErrorResponse | null | undefined, ApiErrorResponse | null | undefined>;
    loading: import('vue').Ref<boolean, boolean>;
    fetch: (username: string) => Promise<void>;
    selected: import('vue').Ref<number[], number[]>;
    roles: import('vue').Ref<{
        id: number;
        slug: string;
        name: string;
        description: string;
        created_at: Date | string;
        updated_at: Date | string;
        deleted_at: Date | string | null;
    }[], RoleInterface[] | {
        id: number;
        slug: string;
        name: string;
        description: string;
        created_at: Date | string;
        updated_at: Date | string;
        deleted_at: Date | string | null;
    }[]>;
};
