import { Attachment, AttachmentFactoryOptions } from './attachment';
import { AttachmentType, kSerializeData } from '../../utils/constants';
export interface IGraffitiAttachmentPayload {
    id: number;
    owner_id: number;
    access_key?: string;
    height?: number;
    width?: number;
    url?: string;
}
export type GraffitiAttachmentOptions = AttachmentFactoryOptions<IGraffitiAttachmentPayload>;
export declare class GraffitiAttachment extends Attachment<IGraffitiAttachmentPayload, AttachmentType.GRAFFITI | 'graffiti'> {
    /**
     * Constructor
     */
    constructor(options: GraffitiAttachmentOptions);
    /**
     * Load attachment payload
     */
    loadAttachmentPayload(): Promise<void>;
    /**
     * Returns the graffiti height
     */
    get height(): number | undefined;
    /**
     * Returns the graffiti width
     */
    get width(): number | undefined;
    /**
     * Returns the URL of the document
     */
    get url(): string | undefined;
    /**
     * Returns the custom data
     */
    [kSerializeData](): object;
}
