/*!
 * Copyright 2024 WPPConnect Team
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { MsgKey, MsgModel } from '../../whatsapp';
import { PinExpiryDurationOption, SendMsgResult } from '../../whatsapp/enums';
/**
 * Pin a message in chat
 *
 * @param msgId - Message ID to pin/unpin
 * @param pin - True to pin, false to unpin
 * @param duration - Pin duration option. Use PinExpiryDurationOption enum for precise control.
 *
 * @since 3.18.9 - BREAKING CHANGE: The `seconds` parameter (number) has been replaced with `PinExpiryDurationOption` enum.
 * For backward compatibility, numbers are still accepted but will ALWAYS default to 7 days,
 * regardless of the value passed. Use `PinExpiryDurationOption` enum for precise duration control.
 *
 * @example
 * ```javascript
 * // Pin a message in chat with default duration (7 days)
 * WPP.chat.pinMsg('true_[number]@c.us_ABCDEF');
 *
 * // Pin a message in chat for 30 days (RECOMMENDED)
 * WPP.chat.pinMsg('true_[number]@c.us_ABCDEF', true, WPP.whatsapp.PinExpiryDurationOption.ThirtyDays);
 *
 * // Pin a message in chat for 1 day
 * WPP.chat.pinMsg('true_[number]@c.us_ABCDEF', true, WPP.whatsapp.PinExpiryDurationOption.OneDay);
 *
 * // DEPRECATED: Passing numbers (always results in 7 days)
 * WPP.chat.pinMsg('true_[number]@c.us_ABCDEF', true, 2592000); // Ignored, defaults to 7 days
 *
 * // Unpin a message
 * WPP.chat.pinMsg('true_[number]@c.us_ABCDEF', false);
 * // or
 * WPP.chat.unpinMsg('true_[number]@c.us_ABCDEF');
 * ```
 * @category Chat
 */
export declare function pinMsg(msgId: string | MsgKey, pin?: boolean, duration?: number | PinExpiryDurationOption): Promise<{
    message: MsgModel;
    pinned: boolean;
    result: SendMsgResult;
}>;
/**
 * Unpin a message in chat
 *
 * @alias pin
 *
 * @example
 * ```javascript
 * // Unpin a message
 * WPP.chat.unpinMsg('true_[number]@c.us_ABCDEF');
 *
 * // Alias for
 * WPP.chat.pinMsg('true_[number]@c.us_ABCDEF', false);
 * ```
 * @category Chat
 */
export declare function unpinMsg(msgId: string | MsgKey): Promise<{
    message: MsgModel;
    pinned: boolean;
    result: SendMsgResult;
}>;
