export type CookieOptions = {
    maxAgeDays?: number;
    path?: string;
    sameSite?: "Lax" | "Strict" | "None";
    secure?: boolean;
    domain?: string;
};
export interface DeleteCookieOptions {
    path?: string;
    domain?: string;
}
export interface BotState {
    messages: any[];
    isMinimized: boolean;
    isOpened: boolean;
    isExpanded: boolean;
    conversationId: string;
    projectId: string;
    newChat: boolean;
    isLiveAgent?: boolean;
    liveAgentSessionId?: string;
    liveAgentConversationId?: string;
}
export declare function isBotState(value: unknown): value is BotState;
type JsonCookieOptions = CookieOptions & {
    maxBytes?: number;
};
export declare function getCookie(name: string): string | null;
export declare function setCookie(name: string, value: string, options?: CookieOptions): boolean;
export declare function removeCookie(name: string, path?: string, domain?: string): void;
export declare function getJsonCookie<T = any>(name: string, validator?: (value: unknown) => value is T): T | null;
export declare function setJsonCookie(name: string, data: any, options?: JsonCookieOptions): boolean;
export declare function getValidCookieDomain(subDomain: string): string | undefined;
/**
 * Deletes a cookie by name
 * @param name - Cookie name to delete
 * @param options - Optional path and domain (must match original cookie)
 */
export declare function deleteJsonCookie(name: string, options?: DeleteCookieOptions): void;
export {};
