import type { RequestEvent } from '@sveltejs/kit';
import type { SessionOptions } from './types';
export declare class CookieSession<SessionType = Record<string, any>> {
    #private;
    constructor(event: RequestEvent, userConfig: SessionOptions);
    get expires(): Date | undefined;
    get data(): SessionType;
    get needsSync(): boolean;
    init(): Promise<void>;
    set(data: SessionType): Promise<any>;
    update(updateFn: (data: SessionType) => Partial<SessionType> | Promise<Partial<SessionType>>): Promise<any>;
    destroy(): void;
    refresh(expiresInDays?: number): Promise<boolean>;
    private reEncrypt;
    private refreshSession;
    private chunkString;
    private setCookie;
    private deleteCookies;
    private getSessionData;
    private getChunkedCookies;
}
