import { ParamsFrom } from "actionhero";
import { AuthenticatedAction } from "../classes/actions/authenticatedAction";
import { TeamMember } from "../models/TeamMember";
import { ActionPermission } from "../models/Permission";
export declare class AccountView extends AuthenticatedAction {
    name: string;
    description: string;
    permission: ActionPermission;
    outputExample: {};
    runWithinTransaction({ session: { teamMember }, }: {
        session: {
            teamMember: TeamMember;
        };
    }): Promise<{
        teamMember: {
            id: string;
            teamId: string;
            firstName: string;
            lastName: string;
            email: string;
            locked: string;
            lastLoginAt: Date;
            createdAt: number;
            updatedAt: number;
        };
        team: {
            id: string;
            name: string;
            locked: string;
            permissionAllRead: boolean;
            permissionAllWrite: boolean;
            createdAt: number;
            updatedAt: number;
            permissions: {
                id: string;
                topic: "file" | "record" | "source" | "group" | "import" | "system" | "run" | "resque" | "log" | "model" | "app" | "property" | "export" | "destination" | "apiKey" | "notification" | "setupStep" | "team";
                read: boolean;
                write: boolean;
                locked: string;
            }[];
            membersCount: number;
        };
    }>;
}
export declare class AccountEdit extends AuthenticatedAction {
    name: string;
    description: string;
    permission: ActionPermission;
    outputExample: {};
    inputs: {
        readonly firstName: {
            readonly required: false;
        };
        readonly lastName: {
            readonly required: false;
        };
        readonly password: {
            readonly required: false;
        };
        readonly email: {
            readonly required: false;
        };
    };
    runWithinTransaction({ params, session: { teamMember }, }: {
        params: ParamsFrom<AccountEdit>;
        session: {
            teamMember: TeamMember;
        };
    }): Promise<{
        teamMember: {
            id: string;
            teamId: string;
            firstName: string;
            lastName: string;
            email: string;
            locked: string;
            lastLoginAt: Date;
            createdAt: number;
            updatedAt: number;
        };
        team: {
            id: string;
            name: string;
            locked: string;
            permissionAllRead: boolean;
            permissionAllWrite: boolean;
            createdAt: number;
            updatedAt: number;
            permissions: {
                id: string;
                topic: "file" | "record" | "source" | "group" | "import" | "system" | "run" | "resque" | "log" | "model" | "app" | "property" | "export" | "destination" | "apiKey" | "notification" | "setupStep" | "team";
                read: boolean;
                write: boolean;
                locked: string;
            }[];
            membersCount: number;
        };
    }>;
}
