import { Group } from "../../components/canvas/groups";
import { TRect } from "../../utils/types/shapes";
import { ESelectionStrategy } from "../../utils/types/types";
import { GroupsListStore } from "./GroupsList";
export type TGroupId = string;
export interface TGroup {
    id: TGroupId;
    rect: TRect;
    selected?: boolean;
    component?: typeof Group;
}
export declare class GroupState {
    protected store: GroupsListStore;
    $state: import("@preact/signals-core").Signal<TGroup>;
    constructor(store: GroupsListStore, state: TGroup);
    get id(): string;
    get selected(): boolean;
    updateGroup(group: Partial<TGroup>): void;
    setSelection(selected: boolean, strategy?: ESelectionStrategy): void;
    asTGroup(): TGroup;
    static fromTGroup(store: GroupsListStore, group: TGroup): GroupState;
}
