import { IHttpClient } from '../http';
import { PagedResource } from './resource';
import { EntityTypeAssignment, Policy, PolicyEvaluationResult, PropertySchema } from '../models';
import { CancellationToken } from '../cancellation-token';
import { PolicyTrackingGroupsResource } from './policyTrackingGroups';
export declare class PoliciesResource extends PagedResource<Policy> {
    constructor(httpClient: IHttpClient);
    trackingGroups(policyId: string): PolicyTrackingGroupsResource;
    schema(id: string, token?: CancellationToken): Promise<PropertySchema>;
    import(body: FormData, params?: any, token?: CancellationToken): Promise<Policy[]>;
    addEntityAssignment(id: string, body: EntityTypeAssignment, params?: any, token?: CancellationToken): Promise<EntityTypeAssignment>;
    deleteEntityAssignment(id: string, entityTypeId: string, token?: CancellationToken): Promise<boolean>;
    deleteSinglePolicyLocations(id: string, token?: CancellationToken): Promise<boolean>;
    unassignPolicy(id: string, locationId: string, token?: CancellationToken): Promise<boolean>;
    test(id: string, body: FormData, params?: any, token?: CancellationToken): Promise<PolicyEvaluationResult>;
    testByTrackingID(id: string, trackingID: number, params?: any, token?: CancellationToken): Promise<PolicyEvaluationResult>;
    testAll(body: FormData, params?: any, token?: CancellationToken): Promise<PolicyEvaluationResult[]>;
}
