type Options<T extends Record<string, unknown>, Q extends boolean> = {
    validate?: (searchParamsObject: Record<string, unknown>) => T;
    questionMark?: Q;
};
declare class TSSearchParams<T extends Record<string, unknown>, Q extends boolean = false> {
    #private;
    constructor(init?: string | URLSearchParams | undefined, options?: Options<T, Q>);
    assign(partial: Partial<T>): this;
    toString(): Q extends true ? `?${string}` : string;
    toObject(): T;
    get<K extends keyof T>(key: K): T[K];
}

export { TSSearchParams };
