import type { Role, IFdtoUpdateRoleReq } from "../types/role"; export declare const useRoleStore: () => { roles: import("vue").Ref<{ restaurants: { id: string; name: string; }[]; restaurantId: string; isUsable: boolean; name: string; _id: string; permissions: Record[]; }[], Role[] | { restaurants: { id: string; name: string; }[]; restaurantId: string; isUsable: boolean; name: string; _id: string; permissions: Record[]; }[]>; $state: { roles: { restaurants: { id: string; name: string; }[]; restaurantId: string; isUsable: boolean; name: string; _id: string; permissions: Record[]; }[]; } & import("pinia").PiniaCustomStateProperties[]; }[], Role[] | { restaurants: { id: string; name: string; }[]; restaurantId: string; isUsable: boolean; name: string; _id: string; permissions: Record[]; }[]>; readRoles: () => Promise; createRole: (dto: IFdtoUpdateRoleReq) => Promise; updateRole: (roleId: string, dto: IFdtoUpdateRoleReq) => Promise; deleteRole: (role: Role) => Promise; }, "roles">>; $patch(partialState: import("pinia")._DeepPartial<{ roles: { restaurants: { id: string; name: string; }[]; restaurantId: string; isUsable: boolean; name: string; _id: string; permissions: Record[]; }[]; }>): void; $patch[]; }[]; }) => any>(stateMutator: ReturnType extends Promise ? never : F): void; $reset(): void; $subscribe(callback: import("pinia").SubscriptionCallback[]; }[], Role[] | { restaurants: { id: string; name: string; }[]; restaurantId: string; isUsable: boolean; name: string; _id: string; permissions: Record[]; }[]>; readRoles: () => Promise; createRole: (dto: IFdtoUpdateRoleReq) => Promise; updateRole: (roleId: string, dto: IFdtoUpdateRoleReq) => Promise; deleteRole: (role: Role) => Promise; }, "roles">>, options?: ({ detached?: boolean | undefined; } & import("vue").WatchOptions) | undefined): () => void; $onAction(callback: import("pinia").StoreOnActionListener<"role", Pick<{ roles: import("vue").Ref<{ restaurants: { id: string; name: string; }[]; restaurantId: string; isUsable: boolean; name: string; _id: string; permissions: Record[]; }[], Role[] | { restaurants: { id: string; name: string; }[]; restaurantId: string; isUsable: boolean; name: string; _id: string; permissions: Record[]; }[]>; readRoles: () => Promise; createRole: (dto: IFdtoUpdateRoleReq) => Promise; updateRole: (roleId: string, dto: IFdtoUpdateRoleReq) => Promise; deleteRole: (role: Role) => Promise; }, "roles">, Pick<{ roles: import("vue").Ref<{ restaurants: { id: string; name: string; }[]; restaurantId: string; isUsable: boolean; name: string; _id: string; permissions: Record[]; }[], Role[] | { restaurants: { id: string; name: string; }[]; restaurantId: string; isUsable: boolean; name: string; _id: string; permissions: Record[]; }[]>; readRoles: () => Promise; createRole: (dto: IFdtoUpdateRoleReq) => Promise; updateRole: (roleId: string, dto: IFdtoUpdateRoleReq) => Promise; deleteRole: (role: Role) => Promise; }, never>, Pick<{ roles: import("vue").Ref<{ restaurants: { id: string; name: string; }[]; restaurantId: string; isUsable: boolean; name: string; _id: string; permissions: Record[]; }[], Role[] | { restaurants: { id: string; name: string; }[]; restaurantId: string; isUsable: boolean; name: string; _id: string; permissions: Record[]; }[]>; readRoles: () => Promise; createRole: (dto: IFdtoUpdateRoleReq) => Promise; updateRole: (roleId: string, dto: IFdtoUpdateRoleReq) => Promise; deleteRole: (role: Role) => Promise; }, "readRoles" | "createRole" | "updateRole" | "deleteRole">>, detached?: boolean | undefined): () => void; $dispose(): void; $id: "role"; _customProperties: Set; readRoles: () => Promise; createRole: (dto: IFdtoUpdateRoleReq) => Promise; updateRole: (roleId: string, dto: IFdtoUpdateRoleReq) => Promise; deleteRole: (role: Role) => Promise; };