import { Location } from '@backstage/catalog-client';
import { CompoundEntityRef, Entity } from '@backstage/catalog-model';
import { LocationInput, LocationService } from './types';
import { BackstageCredentials, PermissionsService } from '@backstage/backend-plugin-api';
export declare class AuthorizedLocationService implements LocationService {
    private readonly locationService;
    private readonly permissionApi;
    constructor(locationService: LocationService, permissionApi: PermissionsService);
    createLocation(spec: LocationInput, dryRun: boolean, options: {
        credentials: BackstageCredentials;
    }): Promise<{
        location: Location;
        entities: Entity[];
        exists?: boolean | undefined;
    }>;
    listLocations(options: {
        credentials: BackstageCredentials;
    }): Promise<Location[]>;
    getLocation(id: string, options: {
        credentials: BackstageCredentials;
    }): Promise<Location>;
    deleteLocation(id: string, options: {
        credentials: BackstageCredentials;
    }): Promise<void>;
    getLocationByEntity(entityRef: CompoundEntityRef | string, options: {
        credentials: BackstageCredentials;
    }): Promise<Location>;
}
