import type { SignatureInput } from '../../../types/jws-types.js';
import type { PermissionConditions, PermissionScope } from '../../../types/permissions-types.js';
import type { PermissionsRequestMessage } from '../../../types/permissions-types.js';
import { Message } from '../../../core/message.js';
declare type PermissionsRequestOptions = {
    dateCreated?: string;
    conditions?: PermissionConditions;
    description: string;
    grantedTo: string;
    grantedBy: string;
    objectId?: string;
    scope: PermissionScope;
    authorizationSignatureInput: SignatureInput;
};
export declare class PermissionsRequest extends Message<PermissionsRequestMessage> {
    static parse(message: PermissionsRequestMessage): Promise<PermissionsRequest>;
    static create(options: PermissionsRequestOptions): Promise<PermissionsRequest>;
    get id(): string;
    get conditions(): PermissionConditions;
    get grantedBy(): string;
    get grantedTo(): string;
    get description(): string;
    get scope(): PermissionScope;
}
export declare const DEFAULT_CONDITIONS: PermissionConditions;
export {};
//# sourceMappingURL=permissions-request.d.ts.map