import { ApiErrorResponse } from '@userfrosting/sprinkle-core/interfaces';
/**
 * API used to fetch data about a specific permission.
 *
 * This interface is tied to the `PermissionApi` API, accessed at the GET
 * `/api/permissions/p/{id}` endpoint and the `PermissionResponse` Typescript
 * interface.
 *
 * This composable accept a {id} to select the permission. Any changes to the
 * {id} is watched and will trigger an update.
 *
 * Available ref:
 * - permission: PermissionResponse
 * - error: AlertInterface | null
 * - loading: boolean
 * - fetchPermission(): void - Trigger a refresh of the user data
 */
export declare function usePermissionApi(id: any): {
    permission: import('vue').Ref<{
        id: number;
        slug: string;
        name: string;
        conditions: string;
        description: string;
        created_at: Date | string;
        updated_at: Date | string;
        deleted_at: Date | string | null;
    }, import('@userfrosting/sprinkle-account/interfaces').PermissionInterface | {
        id: number;
        slug: string;
        name: string;
        conditions: string;
        description: string;
        created_at: Date | string;
        updated_at: Date | string;
        deleted_at: Date | string | null;
    }>;
    error: import('vue').Ref<ApiErrorResponse | null | undefined, ApiErrorResponse | null | undefined>;
    loading: import('vue').Ref<boolean, boolean>;
    fetchPermission: () => Promise<void>;
};
