import { AppInfo } from "./appInfo.js";
import { DistinctivePath } from "./path/index.js";
import { Potency, Resource } from "./ucan/index.js";
export declare type Permissions = {
    app?: AppInfo;
    fs?: FileSystemPermissions;
    platform?: PlatformPermissions;
    raw?: RawPermissions;
    sharing?: boolean;
};
export declare type FileSystemPermissions = {
    private?: Array<DistinctivePath>;
    public?: Array<DistinctivePath>;
};
export declare type PlatformPermissions = {
    apps: "*" | Array<string>;
};
export declare type RawPermissions = Array<RawPermission>;
export declare type RawPermission = {
    exp: number;
    rsc: Resource;
    ptc: Potency;
};
/**
 * App identifier.
 */
export declare function appId(app: AppInfo): string;
/**
 * Lists the filesystems paths for a set of `Permissions`.
 * This'll return a list of `DistinctivePath`s.
 */
export declare function permissionPaths(permissions: Permissions): DistinctivePath[];
