import * as Types from "../../store/zdesk.type";
export declare function getTicket(service: Types.ZdeskService, payload: Types.GetTicketRequest): Promise<Types.GetTicketResponse>;
export declare function postTicketFilter(service: Types.ZdeskService, payload: Types.GetTicketRequest): Promise<Types.GetTicketResponse>;
interface PutTicketRequest {
    data: {
        id: number;
        business_id: string;
        subject?: string;
        description?: string;
        status_id?: string;
        business_group_id?: string;
        sub_group_id?: string;
        business_user_id?: string;
        due_date?: string;
        tags?: string[];
        note?: string;
        comment?: string;
        mood?: string;
        priority?: Types.TICKET_PRIORITY;
        wrap_up?: any[];
        wrap_up_route?: any[];
    };
}
export declare function putTicket(service: Types.ZdeskService, payload: PutTicketRequest): Promise<any>;
interface PutTransferTicketRequest {
    data: {
        id?: number;
        ids?: number[];
        business_id: string;
        business_group_id?: string | null;
        business_user_id?: string | null;
        ticket_following_business_user_id?: string | null;
        comment_messages?: Types.ITicketCommentMessage;
    };
}
export declare function putTransferTicket(service: Types.ZdeskService, payload: PutTransferTicketRequest): Promise<any>;
interface PatchUpdateStatusTicketRequest {
    data: {
        id?: number;
        ids?: number[];
        business_id: string;
        status_id?: string;
        ticket_status?: Types.TICKET_STATUS_SETTING;
    };
}
export declare function patchUpdateStatusTicket(service: Types.ZdeskService, payload: PatchUpdateStatusTicketRequest): Promise<any>;
export interface PostTicketCustomFieldRequest {
    business_id: string;
    custom_field_config_id?: string;
    ticket_id: number;
    key?: string;
    value: {
        value: string | Types.OptionValue;
    };
}
export declare function postTicketCustomField(service: Types.ZdeskService, payload: PostTicketCustomFieldRequest): Promise<Types.ITicketCustomValue>;
interface GetTicketCustomFieldRequest extends Types.ApiPaginationRequest {
    ticket_id: string;
    business_id: string;
}
interface GetTicketCustomFieldResponse extends Types.ApiPaginationResponse<Types.ITicketCustomValue> {
}
export declare function getTicketCustomField(service: Types.ZdeskService, payload: GetTicketCustomFieldRequest): Promise<GetTicketCustomFieldResponse>;
export interface PatchTicketCustomFieldRequest {
    id: string;
    value: string | object;
    business_id: string;
}
export declare function patchTicketCustomField(service: Types.ZdeskService, payload: PatchTicketCustomFieldRequest): Promise<Types.ITicketCustomValue>;
export interface PutTicketCustomFieldBatchUpdateRequest {
    data: {
        ticket_id: string;
        business_id: string;
        custom_fields: Types.ICustomFields;
    };
}
export declare function putTicketCustomFieldBatchUpdate(service: Types.ZdeskService, payload: PutTicketCustomFieldBatchUpdateRequest): Promise<Types.ITicketCustomValue>;
export interface PostTicketCustomFieldConfigs {
    business_id: string;
    key: string;
    name: string;
    description?: string | null;
    default_value?: Types.OptionValue | null;
    type: Types.CUSTOM_FIELD_CONFIG_TYPE;
    options?: Types.OptionValue[] | null;
    is_pinned?: boolean;
    is_required?: boolean;
    order_index?: number;
    is_show?: boolean;
}
export declare function postTicketCustomFieldConfigs(service: Types.ZdeskService, payload: PostTicketCustomFieldConfigs): Promise<any>;
interface GetTicketCustomFieldConfigsRequest extends Types.ApiPaginationRequest {
    business_id: string;
}
interface GetTicketCustomFieldConfigsResponse {
    data: Types.ITicketCustomField[];
}
export declare function getTicketCustomFieldConfigs(service: Types.ZdeskService, payload: GetTicketCustomFieldConfigsRequest): Promise<GetTicketCustomFieldConfigsResponse>;
export interface PatchTicketCustomFieldConfigs {
    business_id: string;
    custom_field_configs: Types.ICustomFieldConfig[];
}
export declare function patchTicketCustomFieldConfigs(service: Types.ZdeskService, payload: PatchTicketCustomFieldConfigs): Promise<any>;
export interface PutTicketCustomFieldConfigsOrder {
    business_id: string;
    custom_field_configs: {
        id: string;
        is_show: boolean;
        order_index: number;
    }[];
}
export declare function putTicketCustomFieldConfigsOrder(service: Types.ZdeskService, payload: PutTicketCustomFieldConfigsOrder): Promise<any>;
export interface DeleteTicketCustomFieldConfigs {
    id: string;
    business_id: string;
}
export declare function deleteTicketCustomFieldConfigs(service: Types.ZdeskService, payload: DeleteTicketCustomFieldConfigs): Promise<any>;
interface GetTicketCommentRequest extends Types.ApiPaginationRequest {
    business_id: string;
    ticket_id: number;
}
interface GetTicketCommentResponse extends Types.ApiPaginationResponse<Types.ITicketComment> {
}
export declare function getTicketComment(service: Types.ZdeskService, payload: GetTicketCommentRequest): Promise<GetTicketCommentResponse>;
interface PostTicketCommentRequest {
    business_id: string;
    ticket_id: number;
    business_user_id: string;
    messages: Types.ITicketCommentMessage;
}
export declare function postTicketComment(service: Types.ZdeskService, payload: PostTicketCommentRequest): Promise<any>;
interface PatchTicketCommentRequest {
    business_id: string;
    ticket_id: number;
    id: string;
    messages: Types.ITicketCommentMessage;
}
export declare function patchTicketComment(service: Types.ZdeskService, payload: PatchTicketCommentRequest): Promise<any>;
interface DeleteTicketCommentRequest {
    business_id: string;
    ticket_id: number;
    id: string;
}
export declare function deleteTicketComment(service: Types.ZdeskService, payload: DeleteTicketCommentRequest): Promise<any>;
interface PostTicketCommentReplyRequest {
    business_id: string;
    business_user_id: string;
    ticket_comment_id: string;
    messages: Types.ITicketCommentMessage;
}
export declare function postTicketCommentReply(service: Types.ZdeskService, payload: PostTicketCommentReplyRequest): Promise<any>;
interface PatchTicketCommentReplyRequest {
    business_id: string;
    ticket_comment_id: string;
    id: string;
    messages: Types.ITicketCommentMessage;
}
export declare function patchTicketCommentReply(service: Types.ZdeskService, payload: PatchTicketCommentReplyRequest): Promise<any>;
interface DeleteTicketCommentReplyRequest {
    business_id: string;
    ticket_comment_id: string;
    id: string;
}
export declare function deleteTicketCommentReply(service: Types.ZdeskService, payload: DeleteTicketCommentReplyRequest): Promise<any>;
interface GetTicketCommentLogRequest extends Types.ApiPaginationRequest {
    business_id: string;
    ticket_comment_id?: string;
    ticket_id?: number;
}
interface GetTicketCommentLogResponse extends Types.ApiPaginationResponse<Types.ITicketCommentLog> {
}
export declare function getTicketCommentLog(service: Types.ZdeskService, payload: GetTicketCommentLogRequest): Promise<GetTicketCommentLogResponse>;
interface GetTicketActivitiesRequest extends Types.ApiPaginationRequest {
    business_id: string;
    nulls?: 'FIRST' | 'LAST';
    ticket_id: number;
}
interface GetTicketActivitiesResponse extends Types.ApiPaginationResponse<Types.ITicketActivity> {
}
export declare function getTicketActivities(service: Types.ZdeskService, payload: GetTicketActivitiesRequest): Promise<GetTicketActivitiesResponse>;
interface DeleteTicketFollowingRequest {
    ticket_id: number;
    business_user_id: string;
}
export declare function deleteTicketFollowing(service: Types.ZdeskService, payload: DeleteTicketFollowingRequest): Promise<any>;
export declare function createTicketFollowing(service: Types.ZdeskService, payload: {
    ticket_id: number;
    business_user_id: string;
}): Promise<any>;
interface GetTicketStatusSettingRequest extends Types.ApiPaginationRequest {
    business_id: string;
    is_hidden?: boolean;
    ticket_status?: Types.TICKET_STATUS_SETTING;
}
interface PostTicketStatusSettingRequest {
    business_id: string;
    ticket_status_json: Types.ITicketStatusSettingForm[];
}
interface GetTicketStatusSettingResponse extends Types.ApiPaginationResponse<Types.ITicketStatusSetting> {
}
export declare function getTicketStatusSetting(service: Types.ZdeskService, payload: GetTicketStatusSettingRequest): Promise<GetTicketStatusSettingResponse>;
export declare function postTicketStatusSetting(service: Types.ZdeskService, payload: PostTicketStatusSettingRequest): Promise<any>;
interface DeleteTicketStatusSettingRequest {
    id: string;
    business_id: string;
    transfer_status_id: string;
}
export declare function deleteTicketStatusSetting(service: Types.ZdeskService, payload: DeleteTicketStatusSettingRequest): Promise<any>;
export {};
