import * as Core from 'cloudflaredev/core';
import { APIResource } from 'cloudflaredev/resource';
import * as MessageAPI from 'cloudflaredev/resources/cloudforce-one/requests/message';
import * as Shared from 'cloudflaredev/resources/shared';
export declare class MessageResource extends APIResource {
    /**
     * Creating a request adds the request into the Cloudforce One queue for analysis.
     * In addition to the content, a short title, type, priority, and releasability
     * should be provided. If one is not provided a default will be assigned.
     */
    create(accountIdentifier: string, requestIdentifier: string, body: MessageCreateParams, options?: Core.RequestOptions): Core.APIPromise<Message>;
    /**
     * Update a Request Message
     */
    update(accountIdentifier: string, requestIdentifier: string, messageIdentifer: number, body: MessageUpdateParams, options?: Core.RequestOptions): Core.APIPromise<Message>;
    /**
     * Delete a Request Message
     */
    delete(accountIdentifier: string, requestIdentifier: string, messageIdentifer: number, options?: Core.RequestOptions): Core.APIPromise<MessageDeleteResponse>;
    /**
     * List Request Messages
     */
    get(accountIdentifier: string, requestIdentifier: string, body: MessageGetParams, options?: Core.RequestOptions): Core.APIPromise<MessageGetResponse>;
}
export interface Message {
    /**
     * Message ID
     */
    id: number;
    /**
     * Author of message
     */
    author: string;
    /**
     * Content of message
     */
    content: string;
    /**
     * Message is a follow-on request
     */
    is_follow_on_request: boolean;
    /**
     * Message last updated time
     */
    updated: string;
    /**
     * Message creation time
     */
    created?: string;
}
export interface MessageDeleteResponse {
    errors: Array<Shared.ResponseInfo>;
    messages: Array<Shared.ResponseInfo>;
    /**
     * Whether the API call was successful
     */
    success: true;
}
export type MessageGetResponse = Array<Message>;
export interface MessageCreateParams {
    /**
     * Content of message
     */
    content?: string;
}
export interface MessageUpdateParams {
    /**
     * Request content
     */
    content?: string;
    /**
     * Priority for analyzing the request
     */
    priority?: string;
    /**
     * Requested information from request
     */
    request_type?: string;
    /**
     * Brief description of the request
     */
    summary?: string;
    /**
     * The CISA defined Traffic Light Protocol (TLP)
     */
    tlp?: 'clear' | 'amber' | 'amber-strict' | 'green' | 'red';
}
export interface MessageGetParams {
    /**
     * Page number of results
     */
    page: number;
    /**
     * Number of results per page
     */
    per_page: number;
    /**
     * Retrieve messages created after this time
     */
    after?: string;
    /**
     * Retrieve messages created before this time
     */
    before?: string;
    /**
     * Field to sort results by
     */
    sort_by?: string;
    /**
     * Sort order (asc or desc)
     */
    sort_order?: 'asc' | 'desc';
}
export declare namespace MessageResource {
    export import Message = MessageAPI.Message;
    export import MessageDeleteResponse = MessageAPI.MessageDeleteResponse;
    export import MessageGetResponse = MessageAPI.MessageGetResponse;
    export import MessageCreateParams = MessageAPI.MessageCreateParams;
    export import MessageUpdateParams = MessageAPI.MessageUpdateParams;
    export import MessageGetParams = MessageAPI.MessageGetParams;
}
//# sourceMappingURL=message.d.ts.map