import { AptlyOrganizationSchema } from './organization.js';
import { AptlyBaseSchema } from './extends.js';
export interface AptlyMediaSchema<ID, DATE> extends AptlyBaseSchema<ID, DATE> {
    organization: ID | AptlyOrganizationSchema<ID, DATE>;
    src: string;
    alt: string;
    caption?: string;
    title?: string;
    mime: string;
    tags: string[];
    width: number;
    height: number;
    albums: string[];
    public_id: string;
    asset_id: string;
    version: number;
    version_id: string;
    signature: string;
    format: string;
    resource_type: string;
    created_at: string;
    bytes: number;
    type: string;
    etag: string;
    placeholder: boolean;
    url: string;
    original_filename: string;
    created: DATE;
    updated: DATE;
    srcUrl?: string;
    uploadSignature?: string;
}
export interface AptlyMediaSrcArea {
    width: number;
    height: number;
    x: number;
    y: number;
}
export interface AptlyMediaSrcLocation {
    x: number;
    y: number;
}
export interface AptlyMediaSrcSchema<ID, DATE> extends Pick<AptlyMediaSchema<ID, DATE>, AptlyMediaSrcKeys> {
    area?: AptlyMediaSrcArea;
    location?: AptlyMediaSrcLocation;
    image?: string;
}
export type AptlyMediaSrcKeys = '_id' | 'name' | 'src' | 'url' | 'alt' | 'title' | 'caption' | 'mime' | 'width' | 'height';
export type AptlyMediaSrc = AptlyMediaSrcSchema<string, string>;
export type AptlyMedia = AptlyMediaSchema<string, string>;
