import { type Readable, type Writable } from 'svelte/store';
declare global {
    interface Window {
        __SAFE_SSR_STATE__?: Map<string, unknown>;
    }
}
export declare const stateSerialize: () => string;
export declare const createRawState: <T>(key: string, initial: () => T) => {
    value: T;
};
export declare const createState: <T>(key: string, initial: () => T) => Writable<T>;
type Stores = [Readable<unknown>, ...Array<Readable<unknown>>] | Array<Readable<unknown>>;
type StoresValues<T> = T extends Readable<infer U> ? U : {
    [K in keyof T]: T[K] extends Readable<infer U> ? U : never;
};
export declare const createDerivedState: <T extends Stores, D>(stores: T, deriveFn: (values: StoresValues<T>) => D) => Readable<D>;
export {};
