export interface AuthObject {
    clientId: string;
    clientSecret: string;
    subDomain: string;
    expiration?: number;
    access_token?: string;
}
export interface FilterObj {
    leftOperand: string;
    rightOperand: string;
}
export interface Fields {
    name: string;
    type: string;
    scale?: number;
    precision?: number;
    length: number;
    isNullable: boolean;
    isPrimaryKey: boolean;
    isHidden: boolean;
    isReadOnly: boolean;
    isOverridable: boolean;
    isTemplateField: boolean;
    isInheritable: boolean;
    mustOverride: boolean;
    ordinal: 0;
}
export interface DataExtensionBody {
    name: string;
    categoryID: string;
    dataRetentionProperties?: {
        isDeleteAtEndOfRetentionPeriod?: boolean;
        isRowBasedRetention?: boolean;
        isResetRetentionPeriodOnImport?: boolean;
    };
    fields: Fields[];
}
export interface BusinessUnit {
    Name: string;
    ID: number;
}
export interface DataFolder {
    PartnerKey: string;
    ID: number;
    ObjectID: string;
    ParentFolder: {
        PartnerKey: string;
        ID: number;
        ObjectID: string;
    };
    Name: string;
}
export interface DataExtension {
    Name: string;
    ObjectId: string;
    CategoryId: number;
}
export interface ContactAttributesResponse {
    items: [
        {
            isReadOnly: boolean;
            attributes: [{
                isReadOnly: boolean;
                fullyQualifiedName: string;
                dataType: string;
            }];
        }
    ];
}
export interface DataExtensionFields {
    fields: Fields[];
    fieldCount: number;
    fieldPage: number;
    fieldPageSize: number;
}
export interface CreateDataExtensionResponse extends Omit<DataExtensionFields, 'fielsPage' | 'fieldPageSize'> {
    id: string;
    key: string;
    name: string;
}
interface PartnerPropertyID {
    Name: 'id';
    Value: number;
}
interface PartnerPropertyName {
    Name: 'name';
    Value: string;
}
export type PartnerProperty = PartnerPropertyName | PartnerPropertyID;
export interface BusinessUnitResponse {
    PartnerProperties: PartnerProperty[];
}
export interface DataExtensionResponse {
    PartnerProperties: [
        {
            Name: string;
            Value: string;
        },
        {
            Name: string;
            Value: string;
        },
        {
            Name: string;
            Value: number;
        }
    ];
}
export interface SoapResponseBody {
    RetrieveResponseMsg: {
        Results: BusinessUnitResponse | BusinessUnitResponse[] | DataFolder | DataFolder[] | DataExtensionResponse | DataExtensionResponse[];
    };
}
export {};
//# sourceMappingURL=type.d.ts.map