import { Countries, EntityId, IsoDate, IsoDatetime, IdentityIssuer, Email } from '../Foundations';
export declare type Org = {
    id: EntityId;
    legalName: string;
    tradingName?: string;
    country: Countries;
    dateOfIncorporation: IsoDate;
    dateOnboarded: IsoDatetime;
    status: OrgStatus;
    employees: OrgEmployee[];
    groups?: EmployeeGroup[];
};
export declare type OrgEmployee = {
    id: EntityId;
    status: OrgEmployeeStatus;
    orgId: string;
    username: string;
    email: Email;
    /**
     * Identity issuer (eg Auth0). Empty if it's the default one (Dfns one). The issuer will be filled for non-Dfns issuers.
     */
    issuer: IdentityIssuer;
    dateCreated: IsoDatetime;
    dateUpdated: IsoDatetime;
    fullName: string;
    dateOfBirth?: IsoDate;
    groups?: EmployeeGroup[];
    isOrgOwner: boolean;
};
export declare type EmployeeGroup = {
    name: string;
};
export declare type CreateOrgEmployeePayload = {
    username: string;
    email: Email;
    issuer?: string;
    fullName: string;
    dateOfBirth?: IsoDate;
    isOrgOwner: boolean;
};
export declare type OrgApiKey = {
    apiKeyId: EntityId;
    orgId: EntityId;
};
export declare type CreateEmployee = {
    username: string;
    email: Email;
    issuer?: string;
    fullName: string;
    dateOfBirth?: IsoDate;
    isOrgOwner: boolean;
};
export declare type UpdateEmployee = {
    fullName?: string;
    dateOfBirth?: IsoDate;
    status?: OrgEmployeeStatus;
    isOrgOwner?: boolean;
};
export declare type UpdateOrg = {
    legalName?: string;
    tradingName?: string;
    dateOfIncorporation?: IsoDate;
    country?: Countries;
    dateOnboarded?: IsoDate;
};
export declare type CreateOrg = {
    legalName: string;
    tradingName: string;
    dateOfIncorporation: IsoDate;
    country: Countries;
    dateOnboarded?: IsoDate;
    employees?: CreateOrgEmployeePayload[];
};
/**
 * Indicates customer’s status within a lifecycle.
 */
export declare enum OrgStatus {
    Archived = "Archived",
    Disabled = "Disabled",
    Enabled = "Enabled",
    Creating = "Creating",
    Approved = "Approved"
}
export declare enum OrgEmployeeStatus {
    Enabled = "Enabled",
    Disabled = "Disabled",
    Archived = "Archived"
}
