import { I as InternalApiClient, B as BlindpayApiResponse } from '../../api-client-Cw2mNJeR.js';

type InstanceMemberRole = "owner" | "admin" | "finance" | "checker" | "operations" | "developer" | "viewer";
type GetInstanceMembersInput = {
    instanceId: string;
};
type GetInstanceMembersResponse = Array<{
    id: string;
    email: string;
    first_name: string;
    middle_name: string;
    last_name: string;
    image_url: string;
    created_at: string;
    role: InstanceMemberRole;
}>;
type UpdateInstanceInput = {
    instanceId: string;
    name: string;
    receiver_invite_redirect_urL?: string;
};
type DeleteInstanceInput = {
    instanceId: string;
};
type DeleteInstanceMemberInput = {
    instanceId: string;
    id: string;
};
type UpdateInstanceMemberRoleInput = {
    instanceId: string;
    id: string;
    role: InstanceMemberRole;
};
declare function createInstancesResource(client: InternalApiClient): {
    getMembers({ instanceId, }: GetInstanceMembersInput): Promise<BlindpayApiResponse<GetInstanceMembersResponse>>;
    update({ instanceId, ...data }: UpdateInstanceInput): Promise<BlindpayApiResponse<void>>;
    delete({ instanceId }: DeleteInstanceInput): Promise<BlindpayApiResponse<void>>;
    deleteMember({ instanceId, id, }: DeleteInstanceMemberInput): Promise<BlindpayApiResponse<void>>;
    updateMemberRole({ instanceId, id, ...data }: UpdateInstanceMemberRoleInput): Promise<BlindpayApiResponse<void>>;
};

export { type DeleteInstanceInput, type DeleteInstanceMemberInput, type GetInstanceMembersInput, type GetInstanceMembersResponse, type InstanceMemberRole, type UpdateInstanceInput, type UpdateInstanceMemberRoleInput, createInstancesResource };
